熊猫删除在其他列中具有相似价值的行

时间:2020-08-31 15:18:25

标签: python

我有一个看起来像这样的DataFrame O(1)

输入:

O(m)

我想从“ col1”中删除在“ col2”中具有相同值的行。预期的输出看起来像...

输出:

m

这样做的过程是什么?

2 个答案:

答案 0 :(得分:3)

使用此简短代码应该可以解决问题

df.drop_duplicates(subset=['col2'], keep=False)

说明

我们使用drop_duplicates来(重复地)删除重复项,并根据您的请求将要删除的列设置为col2,以便删除所有出现的内容(和例如,不保留每个重复项的第一次出现),我们使用keep=False

答案 1 :(得分:0)

这可以解决问题


from collections import Counter

df = pd.DataFrame({'col1': ["a","b","c","d","e"], 'col2': [1,3,3,2,6]})

c = Counter(df['col2'])
ls = [k for k,v in c.items() if v==1]

_fltr = df['col2'].isin(ls)

df.loc[_fltr,:]