我有一个数据集,其中包含2022年11月1日到2022年12月31日之间的userId、datetime、transactionId、amount和merchantDescription列。
我需要在连续5天、10天和30天的时间段内计算用户事务,但我遇到了困难。
下面是我的流程:
1.按日期时间设置索引
df1 = df1.set_index('authorizationProcessedAt')
1.按userId计算滚动计数
transaction_counts = df1.groupby('userId')['transactionId'].rolling(5).count()
1.然后重命名并将两个 Dataframe 连接在一起
transaction_counts = pd.DataFrame(transaction_counts)
transaction_counts.rename(columns={'transactionId':'transaction_count'}, inplace=True)
df1 = pd.concat([df1, transaction_counts], axis=0)
生成的结果如下所示,但不是我需要的结果:
head of dataframe
有人能建议如何实现滚动计数的用户?
1条答案
按热度按时间pkmbmrz71#
试试这个
您可以将“5D”替换为“10D”或“30D”,以分别获取10天或30天的滚动计数