我有一个Python熊猫数据框,其中包含一些球队在几个时间段内的连胜记录,我想按时间顺序确定连胜记录。所以,我得到的是:
import pandas as pd
data = pd.DataFrame({'period': list(range(1,7))+list(range(1,6)),
'team_id': ['A']*6 + ['B']*5,
'win': [1,1,1,0,1,1,1,0,0,1,1],
'streak_length': [1,2,3,0,1,2,1,0,0,1,2]})
print(data)
我想要的是:
result = pd.DataFrame({'period': list(range(1,7))+list(range(1,6)),
'team_id': ['A']*6 + ['B']*5,
'win': [1,1,1,0,1,1,1,0,0,1,1],
'streak_length': [1,2,3,0,1,2,1,0,0,1,2],
'streak_id': [1,1,1,None,2,2,1,None,None,2,2]})
print(result)
我试着按team_id
分组并在条纹长度上求和,但它可以重复,所以我认为这不起作用。感谢您的帮助!你知道吗
通过^{} ^{} 和^{} 创建连续的组,在} 和^{} :
win
中只过滤1
,在lambda函数中使用^{相关问题 更多 >
编程相关推荐