栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何分析此Pandas DataFrame中的所有重复项?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何分析此Pandas DataFrame中的所有重复项?

编辑 熊猫0.17 或更高版本:

由于自 Pandas 0.17 开始不赞成使用

take_last
duplicated()
方法的参数,而是使用新参数,因此请参考以下答案以获取正确的方法:
keep

  • 使用调用该
    duplicated()
    方法
    keep=False
    ,即
    frame.duplicated(['key1', 'key2'], keep=False)

因此,为了提取此特定问题所需的数据,需要满足以下条件:

In [81]: frame[frame.duplicated(['key1', 'key2'], keep=False)].groupby(('key1', 'key2')).min()Out[81]: datakey1 key2      1    2        52    2        1[2 rows x 1 columns]

有趣的是,如本期中所述, Pandas 0.17中的
此更改可能部分归因于该问题。


对于 Pandas 0.17 之前的版本:

我们可以使用方法的

take_last
参数
duplicated()

take_last
boolean
,默认
False


对于一组不同的重复行,将除最后一行以外的所有行标记为重复。除第一行外,所有其他都将被标记为默认值。

如果将

take_last
的值设置为
True
,则标记除最后重复的行以外的所有行。结合使用它的默认值
False
,它标记除第一重复行之外的所有行,使我们可以标记所有重复的行:

In [76]: frame.duplicated(['key1', 'key2'])Out[76]: 0    False1    False2    False3     True4     True5    False6     True7     Truedtype: boolIn [77]: frame.duplicated(['key1', 'key2'], take_last=True)Out[77]: 0     True1     True2    False3    False4     True5    False6     True7    Falsedtype: boolIn [78]: frame.duplicated(['key1', 'key2'], take_last=True) | frame.duplicated(['key1', 'key2'])Out[78]: 0     True1     True2    False3     True4     True5    False6     True7     Truedtype: boolIn [79]: frame[frame.duplicated(['key1', 'key2'], take_last=True) | frame.duplicated(['key1', 'key2'])]Out[79]:    key1  key2  data0     1     2     51     2     2     63     1     2     64     2     2     16     2     2     27     2     2     8[6 rows x 3 columns]

现在我们只需要使用

groupby
min
方法,我相信输出是必需的格式:

In [81]: frame[frame.duplicated(['key1', 'key2'], take_last=True) | frame.duplicated(['key1', 'key2'])].groupby(('key1', 'key2')).min()Out[81]: datakey1 key2      1    2        52    2        1[2 rows x 1 columns]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号