Среднечасовые данные данных CSV

1

Мои данные представлены в формате 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

Дата далека от фактической таблицы данных. Поэтому, пожалуйста, помогите мне отладить его.

Теги:
pandas
csv

2 ответа

0
Лучший ответ

Попробуй это

df["DateTime"] = pd.to_datetime(df['Timestamp'], format="%d/%m/%Y %H:%M")

вместо этого

df['DateTime'] = pd.to_datetime(df['Timestamp'])
  • 0
    наконец-то это сработало. Спасибо
0

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

  • 0
    Это должны быть ваши данные за час, что является проблемой, так как они не дополнены нулями. Без тех данных, которые вы используете, вам будет трудно помочь вам в дальнейшем.
  • 0
    просто поменял формат = '% d /% m /% Y% H:% M', тогда работал только. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню