我如何从数据框中删除具有重复/重复索引的行[重复]

Posted

技术标签:

【中文标题】我如何从数据框中删除具有重复/重复索引的行[重复]【英文标题】:how could i delete rows with repeating/duplicate index from dataframe [duplicate] 【发布时间】:2017-01-29 15:02:02 【问题描述】:

我有一个数据框

>>> 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

【问题讨论】:

虽然这个问题是重复的,但接受的答案不是 IMO 的最佳答案,所以这里有一个指向 best answer 的链接。 【参考方案1】:

不重置索引:

df[~df.index.duplicated()]

【讨论】:

很好,我更喜欢你的解决方案,而不是我的 :) 我先尝试了reset_index 路线,但谷歌救了我;) 感谢它的工作! :)【参考方案2】:

好的,这样应该会有所帮助:

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

解释:首先我们 reset_index 创建了一个列 FSi 导致 drop_duplicates 作用于列而不是索引。我们保留第一个并将 set_index 再次返回 FSi

【讨论】:

以上是关于我如何从数据框中删除具有重复/重复索引的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从数据框中删除重复项,基于两列 A,B,在另一列 C 中保持具有最大值的行

删除熊猫数据框中具有特定值的行[重复]

删除另一个数据框中的行[重复]

如何根据条件表达式从熊猫数据框中删除行[重复]

如何根据条件表达式从熊猫数据框中删除行[重复]

如何删除在 Python 数据框中部分包含字符串的行 [重复]