在groupby之后添加类别列

时间:2020-04-13 10:14:37

标签: python pandas

我想对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)

1 个答案:

答案 0 :(得分:1)

使用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