如何从 pandas 的数据框中删除重复的项目

数据挖掘 熊猫 数据框
2022-02-28 04:59:20

我有以下数据:

userid itemid
  1       1
  1       1
  1       3
  1       4
  2       1
  2       2
  2       3

如何删除重复的项目(而不是索引)以进行以下操作DataFrame

userid itemid
  1       1
  1       3
  1       4     
  2       1
  2       2
  2       3

有人能帮我吗?

import pandas as pd    
df = pd.DataFrame({'userid':[1,1,1,1, 2,2,2],
                   'itemid':[1,1,3,4, 1,2,3] })
4个回答

最好的方法是使用drop_duplicates()如果您有一个较大的 DataFrame 并且只希望检查这两个列,请将子集设置为等于您要检查的组合列。

df = df.drop_duplicates()

或者

df = df.drop_duplicates(subset=['userid', 'itemid'])

为避免重新分配,请使用 (inplace = True)

df.drop_duplicates(inplace=True)

这与

df = df.drop_duplicates()
df.groupby(df.index).first() 

为我工作。

用途drop_duplicates()_pandas

import pandas as pd    
df = pd.DataFrame({'userid':[1,1,1,1, 2,2,2],
                   'itemid':[1,1,3,4, 1,2,3] })
print(df)
print()
print(df.drop_duplicates())

考虑到 drop 不会改变 df 本身,而只是传递一个已删除指定行的新数据框。如果要将df自身设置inside参数更改为True.