虽然可以找到具有unique = df [df.duplicated()]的所有唯一行,然后使用unique.iterrows()迭代唯一条目,并在pd.where()的帮助下提取相等条目的索引,这是熊猫的做法吗?
例:
给定以下结构的DataFrame:
| param_a | param_b | param_c1 | 0 | 0 | 02 | 0 | 2 | 13 | 2 | 1 | 14 | 0 | 2 | 15 | 2 | 1 | 16 | 0 | 0 | 0
输出:
[(1,6),(2,4),(3,5)]解决方法 对所有欺骗行使用参数
duplicated
和keep = False,然后按所有列分组并将索引值转换为元组,最后将输出系列转换为列表: df = df[df.duplicated(keep=False)]df = df.groupby(df.columns.toList()).apply(lambda x: tuple(x.index)).toList()print (df)[(1,5)]
如果你还想看到重写值:
df1 = (df.groupby(df.columns.toList()) .apply(lambda x: tuple(x.index)) .reset_index(name='IDx'))print (df1) param_a param_b param_c IDx0 0 0 0 (1,6)1 0 2 1 (2,4)2 2 1 1 (3,5)总结
以上是内存溢出为你收集整理的python – 在pandas DataFrame中查找重复行的索引全部内容,希望文章能够帮你解决python – 在pandas DataFrame中查找重复行的索引所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)