我有一个带有 category
的数据框专栏。
对于category
内的每个类列,我想要一个从 1 到 n
的重复序列。例如,在下表中,对于 category
中的每个唯一值列(例如 a
、 b
、 c
等),我想要一个来自 1 to 3
的重复序列在相应的sequence
栏目
我非常感谢任何建议
最佳答案
使用cumcount :
df['sequence'] = (df.groupby('category').cumcount() % 3) + 1
print(df)
输出
id category sequence
0 1 a 1
1 2 a 2
2 3 a 3
3 4 a 1
4 5 a 2
5 6 a 3
6 7 b 1
7 8 b 2
8 9 b 3
9 10 b 1
10 11 b 2
11 12 b 3
作为替代方案:
df['sequence'] = df.groupby('category').cumcount().mod(3).add(1)
关于python - pandas 分组依据和顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65588677/