将所有重复的行跨到Python Pandas的多个列中 [英] Drop all duplicate rows across multiple columns in Python Pandas

查看:111
本文介绍了将所有重复的行跨到Python Pandas的多个列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

pandas drop_duplicates 函数非常适合唯一化数据框。但是,要传递的关键字参数之一是 take_last = True take_last = False ,而我想删除在列的子集中重复的所有行。

The pandas drop_duplicates function is great for "uniquifying" a dataframe. However, one of the keyword arguments to pass is take_last=True or take_last=False, while I would like to drop all rows which are duplicates across a subset of columns. Is this possible?

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

例如,我要删除行匹配列 A C 的列,因此应删除第0行和第1行。

As an example, I would like to drop rows which match on columns A and C so this should drop rows 0 and 1.

推荐答案

现在使用 drop_duplicates 和keep参数。

This is much easier in pandas now with drop_duplicates and the keep parameter.

import pandas as pd
df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

这篇关于将所有重复的行跨到Python Pandas的多个列中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆