【发布时间】:2020-05-21 21:40:06
【问题描述】:
我有一个如下所述的数据框,我需要根据列 - value1、value2 和 value3 找出重复的组(组应按 id 分组)。 我需要用 true 填充“重复”列 如果组出现在表中的其他位置,如果组是唯一的,则用 false 填充。
注意:每个组都有不同的 id。
df = pd.DataFrame({'id': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C', 'C', 'D', 'D', 'D'],
'value1': ['1', '2', '3', '4', '1', '2', '1', '2', '3', '4', '1', '2', '3'],
'value2': ['1', '2', '3', '4', '1', '2', '1', '2', '3', '4', '1', '2', '3'],
'value3': ['1', '2', '3', '4', '1', '2', '1', '2', '3', '4', '1', '2', '3'],
'duplicated' : []
})
预期结果是:
我试过这个,但如果是比较行,我需要比较组(按 id 分组)
import pandas as pd
data = pd.read_excel('C:/Users/path/Desktop/example.xlsx')
# False : Mark all duplicates as True.
data['duplicates'] = data.duplicated(subset= ["value1","value2","value3"], keep=False)
data.to_excel('C:/Users/path/Desktop/example_result.xlsx',index=False)
我得到了:
注意:两组中记录的顺序无关紧要
【问题讨论】:
-
订单重要吗?比如C组中,1和2的行互换位置,是否还是“重复”?
-
@Ben.T 组中行的顺序无关紧要
-
@ncica 让它变得有点复杂。
-
@DontKnowMuchButGettingBetter,对不起,这是我的错误,代码是正确的,我没有注意到我在错误的函数中编写了那部分代码,tnx 提示:)
-
@ncica:不客气,但以后请通知我们。我们是提供帮助的志愿者。请注意,如果您确实回复了评论然后删除了该问题,那么鉴于我的声誉低下,我将无法看到它。
标签: python excel pandas dataframe