熊猫,根据其他列的值删除重复的行

反对111

示例数据:

df1 = pd.DataFrame({
    'file': ['file1','file1','file1','file2','file2','file2','file3','file3','file3'],
    'prop1': ['True','False','True','False','False','False','True','False','False'],
    'prop2': ['False','False','False','False','True','False','False','True','False'],
    'prop3': ['False','True','False','True','False','True','False','False','True']
})

file    prop1   prop2   prop3
0   file1   True    False   False
1   file1   False   False   True
2   file1   True    False   False
3   file2   False   False   True
4   file2   False   True    False
5   file2   False   False   True
6   file3   True    False   False
7   file3   False   True    False
8   file3   False   False   True

File1拥有prop1为true的2次,file2拥有prop3为2的次数,file3拥有props的各1次。所以我需要制作另一个像这样的数据框:

    file    prop
0   file1   prop1
1   file2   prop3
2   file3   diff (file3 props are different)
贝尼

我们可以使用idxmax合并sum来检测max

s=df1.set_index('file').sum(level=0)

s.idxmax(1).mask(s.eq(s.max(1),axis=0).sum(1)==3,'diff')
file
file1    prop1
file2    prop3
file3     diff
dtype: object

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章