我有一个用户活动的 Dataframe ,如下所示:
| 识别号|星期|日期|
| - ------|- ------|- ------|
| 1个|1个|2022年7月23日|
| 1个|1个|2022年7月24日|
| 1个|第二章|2022年7月29日|
| 1个|第二章|2022年7月30日|
| 1个|第二章|2022年8月1日|
| 第二章|1个|2022年7月22日|
| 第二章|第二章|2022年7月29日|
| 第二章|第二章|2022年8月2日|
第1周有3天:2022年7月22日(第1天)、2022年7月23日(第2天)、2022年7月24日(第3天)
第2周有4天:2022年7月29日(第1天)、2022年7月30日(第2天)、2022年8月1日(第3天)、2022年8月2日(第4天)
我需要平均天数作为一个新的列:ID为1的用户在第1周的第2天和第3天访问了站点,因此平均值为2.5。
我需要的输出是:
| 识别号|星期|平均_天|
| - ------|- ------|- ------|
| 1个|1个|二、五|
| 1个|第二章|第二章|
| 第二章|1个|1个|
| 第二章|第二章|二、五|
我希望我的问题是明确的,我不知道如何开始,将感谢您的帮助!谢谢!
1条答案
按热度按时间fnvucqvd1#
使用您提供的 Dataframe :
下面是使用Pandas groupby、apply、explode和concat方法执行此操作的一种方法:
然后: