Мои данные представлены в формате CSV, который является минимальным разрешением. Это выглядит как
Timestamp value
6/10/2018 0:00 23.9
6/10/2018 0:01 19.8
6/10/2018 0:02 20.3
-------------------------
-------------------------
6/18/2018 23:59 25.9
Теперь мне нужно почасовое усреднение этих данных. Код, который я сделал до сих пор,
import pandas as pd
df = pd.read_csv("filename.csv")
df['DateTime'] = pd.to_datetime(df['Timestamp'])
df.index = df['DateTime']
df1 = df.resample('H').mean()
print(df1)
Но результат не правильный, что
DateTime Value
2018-06-13 00:00:00 16.19
2018-06-13 01:00:00 20.80
----------------------------
----------------------------
2018-12-06 23:00:00 19.09
Дата далека от фактической таблицы данных. Поэтому, пожалуйста, помогите мне отладить его.
Попробуй это
df["DateTime"] = pd.to_datetime(df['Timestamp'], format="%d/%m/%Y %H:%M")
вместо этого
df['DateTime'] = pd.to_datetime(df['Timestamp'])
pandas
есть проблемы с разбором столбца Datetime
, вероятно, потому, что представление строки начинается с месяца. Я думаю, что pandas
предполагает, что это день-первый, пока это уже невозможно, затем он идет в месяц.
Вы должны указать строку формата:
df['DateTime'] = pd.to_datetime(df['Timestamp'], format='%m/%d/%Y %H:%M')
Соглашения для строкового формата приведены на этой странице:
https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior