Python基于另外两列添加具有重复值的新列
我有以下建议:Python基于另外两列添加具有重复值的新列,python,pandas,Python,Pandas,我有以下建议: Doc Item 1 1 1 1 1 2 1 3 2 1 2 2 我想添加第三列,其中包含重复的值,(1)如果列“Item”中有更改,则增量为1,(2)如果列“Doc”中有更改,则重新启动 实现这一目标的最佳方式是什么? 非常感谢。使用自定义lambda函数: 如果项中的值为整数,则可以使用: 请提供有关如何存储DF的代码,这将更容易帮助您做到这一点way@Tamir您可以使用pd.read_剪贴板,除非它是多索引或具有datetime Do
Doc Item
1 1
1 1
1 2
1 3
2 1
2 2
我想添加第三列,其中包含重复的值,(1)如果列“Item”中有更改,则增量为1,(2)如果列“Doc”中有更改,则重新启动
实现这一目标的最佳方式是什么?
非常感谢。使用自定义lambda函数:
如果项中的值为整数,则可以使用:
请提供有关如何存储DF的代码,这将更容易帮助您做到这一点way@Tamir您可以使用pd.read_剪贴板
,除非它是多索引或具有datetime
Doc Item NewCol
1 1 1
1 1 1
1 2 2
1 3 3
2 1 1
2 2 2
df['NewCol'] = df.groupby('Doc')['Item'].transform(lambda x: pd.factorize(x)[0]) + 1
print (df)
Doc Item NewCol
0 1 1 1
1 1 1 1
2 1 2 2
3 1 3 3
4 2 1 1
5 2 2 2
df['NewCol'] = df.groupby('Doc')['Item'].rank(method='dense').astype(int)