gpt4 book ai didi

Python - 如何按小时对具有相同小时戳但不同日期的值进行分组

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:22 25 4
gpt4 key购买 nike

我需要显示整个月内每小时内调用的电话数量。到目前为止,我可以通过以下方式对 CSV 重新采样:

                       Amount
Date
2017-03-01 00:00:00 5
2017-03-01 01:00:00 1
.
.
2017-03-31 22:00:00 7
2017-03-31 23:00:00 2

日期是一个 datetimeIndex y 以一小时的间隔对所有值重新采样。我需要的是能够按小时对所有行进行分组,我的意思是将一个月中每天 21:00 进行的所有调用进行分组,例如,对金额求和并将其显示在一行中.例如:

                     Amount
Date
2017-03 00:00:00 600
2017-03 01:00:00 200
2017-03 02:00:00 30
.
.
2017-03 22:00:00 500
2017-03 23:00:00 150

最佳答案

设置

import pandas as pd
import datetime as dt
idx = pd.date_range('2017-03-01 00:00:00', '2017-03-31 23:00:00', freq='H')
df = pd.DataFrame(index=idx, columns=['Amount'], data=np.random.randint(1,100,len(idx)))

解决方案

#Convert index to a list of dates without days like (2017-03  00:00:00 )
group_date = [dt.datetime.strftime(e, '%Y-%m %H:%M:%S') for e in df.index]

#group the data by the new group_date
df.groupby(group_date)['Amount'].sum().to_frame()

Out[592]:
Amount
2017-03 00:00:00 1310
2017-03 01:00:00 1339
2017-03 02:00:00 1438
2017-03 03:00:00 1660
2017-03 04:00:00 1503
2017-03 05:00:00 1466
2017-03 06:00:00 1380
2017-03 07:00:00 1720
2017-03 08:00:00 1399
2017-03 09:00:00 1633
2017-03 10:00:00 1632
2017-03 11:00:00 1706
2017-03 12:00:00 1526
2017-03 13:00:00 1433
2017-03 14:00:00 1577
2017-03 15:00:00 1061
2017-03 16:00:00 1769
2017-03 17:00:00 1449
2017-03 18:00:00 1621
2017-03 19:00:00 1602
2017-03 20:00:00 1541
2017-03 21:00:00 1409
2017-03 22:00:00 1711
2017-03 23:00:00 1313

关于Python - 如何按小时对具有相同小时戳但不同日期的值进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43795118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com