我的数据有两列-第一列是TxnAmount,第二列是TxnDate(具有字符串格式的日期和时间)
**TxnAmount** **TxnDate**
100 '2018-04-01 19:12:26'
135 '2018-04-01 17:03:50'
210 '2018-04-01 14:37:17'
70 '2018-04-02 12:24:49'
250 '2018-04-02 09:56:18'
这是我的代码,可以总结(按天计算)
import pandas as pd
import numpy as np
df = pd.read_csv('File.csv')
df["TxnDate"] = pd.to_datetime(df["TxnDate"])
df.set_index(df["TxnDate"],inplace=True)
df['TxnAmount'].resample('D', how='sum')
但是,我需要的总和是从6:00 AM到6:00 AM间隔。我默认假定的代码根据0:00 AM到0:00间隔的时间求和。
答案 0 :(得分:1)
在resample
中使用base
参数:
df.set_index("TxnDate").resample(rule='24H', closed='left', label='left', base=6).sum()
TxnAmount
TxnDate
2018-04-01 06:00:00 445
2018-04-02 06:00:00 320
数据:
df = {'TxnAmount': {0: 100, 1: 135, 2: 210, 3: 70, 4: 250},
'TxnDate': {0: Timestamp('2018-04-01 19:12:26'),
1: Timestamp('2018-04-01 17:03:50'),
2: Timestamp('2018-04-01 14:37:17'),
3: Timestamp('2018-04-02 12:24:49'),
4: Timestamp('2018-04-02 09:56:18')}}