gpt4 book ai didi

python - 使用 Pandas 计算 30 分钟时间段内列中的字符串值

转载 作者:行者123 更新时间:2023-12-01 09:02:52 25 4
gpt4 key购买 nike

我希望确定 3 个月数据样本中列中字符串变量的计数。每天随机抽取样本。我可以按小时对数据进行分组,但我需要大约 10k 行数据的 30 分钟间隔(例如 0500-0600、0600-0630)的保真度。

数据示例:

datetime               stringvalues
2018-06-06 17:00 A
2018-06-07 17:30 B
2018-06-07 17:33 A
2018-06-08 19:00 B
2018-06-09 05:27 A

我尝试将日期时间列设置为索引,但我无法弄清楚如何对“小时”以外的任何数据进行分组,并且我对字符串值计数没有保真度:

df['datetime'] = pd.to_datetime(df['datetime']
df.index = df['datetime']
df.groupby(df.index.hour).count()

返回的输出类似于:

              datetime     stringvalues
datetime
5 0 0
6 2 2
7 5 5
8 1 1
...

过去两天我对多重索引和重采样进行了一定的研究,但我一直找不到类似的问题。期望的结果看起来像这样:

datetime     A       B
0500 1 2
0530 3 5
0600 4 6
0630 2 0
....

最佳答案

没有直接的方法在时间组件上执行 TimeGrouper,因此我们分两步执行此操作:

v = (df.groupby([pd.Grouper(key='datetime', freq='30min'), 'stringvalues'])
.size()
.unstack(fill_value=0))
v.groupby(v.index.time).sum()

stringvalues A B
05:00:00 1 0
17:00:00 1 0
17:30:00 1 1
19:00:00 0 1

关于python - 使用 Pandas 计算 30 分钟时间段内列中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323069/

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