gpt4 book ai didi

python - 按 ID 分组和完整时间序列 Pandas

转载 作者:行者123 更新时间:2023-11-28 21:35:05 24 4
gpt4 key购买 nike

我有一个 pandas Dataframe,其中包含一个 ID 的观察值,并且我遇到了与已解决的问题类似的问题 here

Timestamp              ID
2014-10-16 15:05:17 123
2014-10-16 14:56:37 148
2014-10-16 14:25:16 123
2014-10-16 14:15:32 123
2014-10-16 13:41:01 123
2014-10-16 12:50:30 148
2014-10-16 12:28:54 123
2014-10-16 12:26:56 123
2014-10-16 12:25:12 123
...
2014-10-08 15:52:49 150
2014-10-08 15:04:50 150
2014-10-08 15:03:48 148
2014-10-08 15:02:27 200
2014-10-08 15:01:56 236
2014-10-08 13:27:28 147
2014-10-08 13:01:08 148
2014-10-08 12:52:06 999
2014-10-08 12:43:27 999
Name: summary, Length: 600

在提到的帖子中,他们展示了如何按 ID 分组以及如何进行计数。使用 df['Week/Year'] = df['Timestamp'].apply(lambda x: "%d/%d" % (x.week, x.year))我现在有这个:

   Timestamp               ID     Week/Year
0 2014-10-16 15:05:17 123 42/2014
1 2014-10-16 14:56:37 150 42/2014
2 2014-10-16 14:25:16 123 42/2014

我的问题是,现在我想制作一个时间序列,所以实际上,我需要:

Category    Week_42_2014    Week_43_2014    Week_44_2014    
123 7 0 6
150 0 0 2 ...

这就是,我需要将几周作为一列,将类别作为行,并且还要填补没有观察的几周的空白。就我而言,我也需要几天,但我想这确实很相似。

谢谢

最佳答案

您可以使用pd.pivot_table :

res = df.pivot_table(index='ID', columns='Week/Year', aggfunc='count', fill_value=0)

print(res)

Timestamp
Week/Year 41/2014 42/2014
ID
123 0 7
147 1 0
148 2 2
150 2 0
200 1 0
236 1 0
999 2 0

关于python - 按 ID 分组和完整时间序列 Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52691128/

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