Python 与GroupBy合作
我有一个非常大的数据表,其中包含Python 与GroupBy合作,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个非常大的数据表,其中包含play\u id、position和frame列 play\u id-指的是特定的播放 位置-A或B(每个给定的比赛总共有3名球员(排)-As和Bs的任意组合) frame-时间范围(例如,每1秒想象一次定格) 以下显示了示例数据(为清晰起见,进行了简化): 播放 位置 框架 1. A. 1. 1. A. 1. 1. B 1. 1. A. 2. 1. A. 2. 1. B 2. 2. A. 1. 2. B 1. 2. B 1. 2. A. 2. 2.
play\u id
、position
和frame
列
-指的是特定的播放play\u id
-A或B(每个给定的比赛总共有3名球员(排)-As和Bs的任意组合)位置
-时间范围(例如,每1秒想象一次定格)frame
您可以
groupby.cumcount
,按所有列进行分组,并为位置添加计数:
df['position'] = df.position.str.cat(df.groupby(['play_id','frame','position']).position
.cumcount().add(1).astype(str),
sep='_')
print(df)
play_id position frame
0 1 A_1 1
1 1 A_2 1
2 1 B_1 1
3 1 A_1 2
4 1 A_2 2
5 1 B_1 2
6 2 A_1 1
7 2 B_1 1
8 2 B_2 1
9 2 A_1 2
10 2 B_1 2
11 2 B_2 2