python - Pandas - 如何每 24 小时从一天中的特定时间分组?
问题描述
我的数据有两列 - 第一列是 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 的时间间隔求和。
解决方案
使用base
参数resample
:
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')}}
推荐阅读
- c++ - 用另一个程序在正在运行的 c++ 程序中调用函数
- r - 当年份从一月以外的月份开始时,如何将日期分组为年份
- reactjs - 从 React 组件外部的对象访问 props
- java - 带有蓝牙名称的自定义 TextView
- ios - React Native for iOS - CFBundleIdentifier 不存在
- load-balancing - 如何在 Azure 容器服务 (AKS) 上获取循环负载均衡器
- kubernetes - eks calico 允许从 aws classic elb 入站到 pod
- jruby - 如何强制莺使用特定版本的 jruby?
- c++ - 在 C++11 中对齐类成员
- javascript - Node.js Express 服务器 - 全局变量问题