我如何从数据框中删除具有重复/重复索引的行[重复]
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
【讨论】:
以上是关于我如何从数据框中删除具有重复/重复索引的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章