Я хотел бы суммировать значения по времени.
временная эпоха - 10 секунд, и я хочу сделать это 1 минута.
Date Time X
0 2017-10-15 12:50:00 10
1 2017-10-15 12:50:10 20
2 2017-10-15 12:50:20 30
3 2017-10-15 12:50:30 20
4 2017-10-15 12:50:40 10
5 2017-10-15 12:50:50 10
Date Time X
0 2017-10-15 12:50:00 100
1 2017-10-15 12:51:00 300
Я прочитал этот файл с пандами.
поэтому тип переменной Time - pandas.core.series.Series
.
И я попытался использовать df.resample()
, но это не сработало.
Что я могу здесь сделать?
Спасибо за вашу помощь.
DatetimeIndex
вы можете создать DatetimeIndex
:
df.index = pd.to_datetime(df.pop('Date')) + pd.to_timedelta(df.pop('Time'))
print (df)
X
2017-10-15 12:50:00 10
2017-10-15 12:50:10 20
2017-10-15 12:50:20 30
2017-10-15 12:50:30 20
2017-10-15 12:50:40 10
2017-10-15 12:50:50 10
А затем работая с resample
очень приятно:
df1 = df.resample('1T').sum()
print (df1)
X
2017-10-15 12:50:00 100
Для столбцов из DatetimeIndex
используйте:
df1.index = pd.MultiIndex.from_arrays([df1.index.date, df1.index.time], names=('Date','Time'))
df1 = df1.reset_index()
print (df1)
Date Time X
0 2017-10-15 12:50:00 100