У меня есть набор данных наблюдений, которые содержат информацию о погоде.Каждый столбец содержит определенное поле, в котором дата и время находятся в двух отдельных столбцах.Столбец времени содержит часовое время, например, от 0000, 0600 до 2300. Я пытаюсь отфильтровать набор данных на основе определенного периода времени, например, между 0000 UTC и 0600 UTC.Когда я пытаюсь прочитать файл данных во фрейме данных pandas, по умолчанию столбец времени читается в формате float.Когда я пытаюсь преобразовать его в объект времени данных, он создает формат, который я не могу преобразовать.Пример кода приведен ниже:
import pandas as pd
import datetime as dt
df = pd.read_excel("test.xlsx")
df.head()
, который дает следующий результат:
tdate itime moonph speed ... qnh windir maxtemp mintemp
0 01-Jan-17 1000.0 NM7 5 ... $1,011.60 60.0 $32.60 $22.80
1 01-Jan-17 1000.0 NM7 2 ... $1,015.40 999.0 $32.60 $22.80
2 01-Jan-17 1030.0 NM7 4 ... $1,015.10 60.0 $32.60 $22.80
3 01-Jan-17 1100.0 NM7 3 ... $1,014.80 999.0 $32.60 $22.80
4 01-Jan-17 1130.0 NM7 5 ... $1,014.60 270.0 $32.60 $22.80
Затем я извлек столбец времени со следующей строкой:
df["time"] = df.itime
df["time"]
0 1000.0
1 1000.0
2 1030.0
3 1100.0
4 1130.0
5 1200.0
6 1230.0
7 1300.0
8 1330.0
.
.
3261 2130.0
3262 2130.0
3263 600.0
3264 630.0
3265 730.0
3266 800.0
3267 830.0
3268 1900.0
3269 1930.0
3270 2000.0
Name: time, Length: 3279, dtype: float64
ЗатемЯ попытался преобразовать столбец времени в объект datetime:
df["time"] = pd.to_datetime(df.itime)
, который дал следующий результат:
df["time"]
0 1970-01-01 00:00:00.000001000
1 1970-01-01 00:00:00.000001000
2 1970-01-01 00:00:00.000001030
3 1970-01-01 00:00:00.000001100
Похоже, он успешно преобразовал данные в объект datetime.Тем не менее, это добавило время часа к мс, что мне трудно сделать фильтрацию.
Последний формат данных, который я хотел бы получить:
1970-01-01 06:00:00
или
06:00
Любая помощь приветствуется.