我怎么能从dataframe中删除重复/重复索引的行

时间:2016-09-21 11:24:30

标签: python pandas dataframe

我有一个数据框

>>> df
zeroa  zerob zeroc zerod zeroe zero
FSi                                     
1       10    100     a    ok   NaN   ok
1       11    110        temp   NaN  NaN
2       12    120     c  temp   NaN  NaN
3      NaN    NaN   NaN   NaN    ok  NaN

我想只保留唯一索引,因为索引1正在重复我想要删除它的第二个实例,我怎么能这样做?我希望我的结果为

>>> df
     zeroa  zerob zeroc zerod zeroe zero
FSi                                     
1       10    100     a    ok   NaN   ok
2       12    120     c  temp   NaN  NaN
3      NaN    NaN   NaN   NaN    ok  NaN

2 个答案:

答案 0 :(得分:1)

这样的事情应该会有所帮助:

df = df.reset_index().drop_duplicates(subset='FSi', keep='first').set_index('FSi')

说明:首先我们reset_index创建一个列 FSi ,因为drop_duplicates对列有效,而不对索引有效。我们将第一个和set_index再次保留回 FSi

答案 1 :(得分:1)

不重置索引:

df[~df.index.duplicated()]