首页 > 解决方案 > 在 groupby 之后为类别添加一列

问题描述

我想分组并获得另一列包含 groupby 类别:这是我的输入

x=pd.DataFrame({'A': ['a', 'b', 'a', 'c'], 'B': ['w', 'x', 'w', 'y']})

我希望这是输出:

y=pd.DataFrame({'A': ['a', 'b', 'a', 'c'], 'B': ['w', 'x', 'w', 'y'], 'C': ['C0', 'C1', 'C0', 'C2']})

我试过这个:

'C' + nlp.groupby(['HCCTrack (S)', 'AdditionalCodes (S)']).cumcount().add(1).astype(str)

标签: pythonpandas

解决方案


改用:GroupBy.ngroup_GroupBy.cumcount

x['C'] = 'C' + x.groupby(['A', 'B']).ngroup().astype(str)
print (x)
   A  B   C
0  a  w  C0
1  b  x  C1
2  a  w  C0
3  c  y  C2

推荐阅读