如何基于Pandas DataFrame中A列分组生成计数器列C?
实现方法
要基于A列分组生成从1开始的计数器列C,可使用Pandas的groupby()配合cumcount()方法:
groupby('A')按A列的值分组cumcount()对每个分组内的行从0开始计数,加1后得到从1起始的序号
完整代码
import pandas as pd # 构建初始DataFrame df = pd.DataFrame({ 'A': [1, 1, 1, 2, 2, 3], 'B': ['Asd', 'Thy', 'fhj', 'khh', 'ytr', 'hgj'] }) # 添加计数器列C df['C'] = df.groupby('A').cumcount() + 1 print(df)
运行结果
| A | B | C |
|---|---|---|
| 1 | Asd | 1 |
| 1 | Thy | 2 |
| 1 | fhj | 3 |
| 2 | khh | 1 |
| 2 | ytr | 2 |
| 3 | hgj | 1 |
内容的提问来源于stack exchange,提问作者Eashwar GV
相关产品推荐
相关产品推荐

