【发布时间】:2021-07-17 07:22:18
【问题描述】:
我有一个如下所示的数据框
k={'user_id':[1,1,1,1,1,2,2,2,3,3,3,3,3,4,4,4,5,5],
'created':[ '2/09/2021','2/10/2021','2/16/2021','2/17/2021','3/09/2021','3/10/2021','3/18/2021','3/19/2021',
'2/19/2021','2/20/2021','2/26/2021','2/27/2021','3/09/2021','2/10/2021','2/18/2021','3/19/2021',
'3/24/2021','3/30/2021',],
'stop_time':[11,12,13,14,15,25,26,27,6,7,8,9,10,11,12,13,25,26],
'play_time':[10,11,12,13,14,24,25,26,5,6,7,8,9,10,11,13,24,25]}
df=pd.DataFrame(data=k)
df['created']=pd.to_datetime(df['created'], format='%m/%d/%Y')
df['total_play_time'] = df['stop_time'] - df['play_time']
现在我们需要使用每个 user_id 的第一个日期作为第一周的开始日期,例如我们需要选择 '2/9/2021' 是 user_id 1 的第一周开始日期和 '3/09 /2021' 作为 user_id 2 的第一周开始日期。
我们需要将 user_id 每周的总游戏时间相加,它继续给出每个时间的总和,直到当前日期(例如,如果运行报告到今天,它必须给出每周的总和,直到今天)并给出如下结果
ID week1 week2 week3 week4 week5 week6 week7 week8 week9 week10 week11 week12
1 3 2 0 0 0 0 0 0 0 0 0 0
2 1 2 0 0 0 0 0
【问题讨论】:
-
请通过intro tour、help center 和how to ask a good question 了解本网站的工作原理并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。 “告诉我如何解决这个编码问题?”与 Stack Overflow 无关。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。 Stack Overflow 无意取代现有的教程和文档。
标签: python pandas loops if-statement