如何清除数据框中的重复字段

时间:2017-03-24 11:54:40

标签: pandas dataframe

我有一个如下数据的例子。

ID      | Item
--------|-------
000001  | Blah
000001  | Blah
000001  | Blah 
000002  | Blah 
000002  | Blah 
000003  | Blah 

如果ID重复,我想拥有它,然后复制副本。所以它看起来像这样。

ID      | Item
--------|-------
000001  | Blah
        | Blah 
        | Blah 
000002  | Blah 
        | Blah 
000003  | Blah 

目前我按ID排序整个数据框,然后使用df.iterrows(),同时存储以前的值进行比较。我想知道是否有一个更好/正确的方法与熊猫相关。

1 个答案:

答案 0 :(得分:3)

您可以使用boolean mask并传递duplicated

来执行此操作
In [133]:
df.loc[df['ID'].duplicated(), 'ID'] = ''
df

Out[133]:
       ID  Item
0  000001  Blah
1          Blah
2          Blah
3  000002  Blah
4          Blah
5  000003  Blah

此处duplicated对于重复值返回true:

In [135]:
df['ID'].duplicated()

Out[135]:
0    False
1     True
2     True
3    False
4     True
5    False
Name: ID, dtype: bool