熊猫-如何每隔24小时从一天中的特定时段分组?

时间:2018-08-15 13:24:32

标签: python pandas

我的数据有两列-第一列是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间隔的时间求和。

1 个答案:

答案 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')}}