gpt4 book ai didi

python - 如何将时间序列数据帧转换为可分箱(因此可绘图)数据帧?

转载 作者:行者123 更新时间:2023-11-30 22:37:27 25 4
gpt4 key购买 nike

假设我有一个数据框

user, organization, logintime, logouttime
a, 1, 2017-01-01 00:22:33, 2017-01-01 00:23:45
b, 2, 2017-01-01 00:28:33, 2017-01-01 00:32:45
c, 3, 2017-01-01 00:44:12, 2017-01-01 00:55:45
d, 1, 2017-01-01 00:44:33, 2017-01-01 01:23:45
...
a, 1, 2017-05-02 23:32:11, 2017-05-03 00:12:22

如何将其转换为如下所示的数据框:

organization, dataframe
a, [month 1: 32, month 2: 42, ..., month 12: 82]
b, [month 1: 22, month 2: 11, ..., month 12: 12]
...

其中每个月的值表示该月的登录次数。

谢谢!

附注如果有人知道绘制原始数据帧并指定时间段的简单方法,而无需将其处理到新数据帧中,请告诉我。

最佳答案

我更愿意返回一个 DataFrame,如下所示:

In [11]: df  # important that logintime is a datetime64 column
Out[11]:
user organization logintime logouttime
0 a 1 2017-01-01 00:22:33 2017-01-01 00:23:45
1 b 2 2017-01-01 00:28:33 2017-01-01 00:32:45
2 c 3 2017-01-01 00:44:12 2017-01-01 00:55:45
3 d 1 2017-01-01 00:44:33 2017-01-01 01:23:45
4 a 1 2017-05-02 23:32:11 2017-05-03 00:12:22

In [12]: df.set_index("logintime").groupby(["user", pd.TimeGrouper("M")]).size().unstack(fill_value=0)
Out[12]:
logintime 2017-01-31 2017-05-31
user
a 1 1
b 1 0
c 1 0
d 1 0

其中这被解读为“用户 a 在截至 2017 年 1 月 31 日的月份内进行了 1 次登录”。

<小时/>

解释一下步骤:我们首先设置索引(以便允许对登录时间用户进行分组),然后获取每个组的大小(登录次数)用户月组。

关于python - 如何将时间序列数据帧转换为可分箱(因此可绘图)数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881794/

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