【问题标题】:Pandas - How to GroupBy from Particular Time of Day Every 24 hours? [duplicate]Pandas - 如何每 24 小时从一天中的特定时间分组? [复制]
【发布时间】:2018-08-15 21:34:18
【问题描述】:

我的数据有两列 - 第一列是 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 到早上 6:00 的时间间隔。默认情况下,我假设的代码根据从 0:00 AM 到 0:00 的时间间隔求和。

【问题讨论】:

    标签: python pandas


    【解决方案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')}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2018-05-02
      • 2010-12-14
      • 2021-10-15
      • 2021-04-05
      • 2015-08-14
      相关资源
      最近更新 更多