2014-12-04 91 views
1

我有一个有重复条目的熊猫数据框,并且我想使用seaborn创建tsplot。我打电话drop_duplicates对数据帧(甚至调用reset_index()),然而,当我做的情节我仍然得到索引包含drop_duplicates之后的重复条目

ValueError: Index contains duplicate entries, cannot reshape 

是有一个原因drop_duplicates不会解决这个问题?

编辑我甚至通过在下降后的数据帧调用duplicated检查,所有行显示False。正如我所料。

我意识到这里没有太多可以脱离的地方,我只是想看看是否有什么直觉我错过了。将尝试创建一个小例子来显示在这里,但我的数据集是相当大的

+0

如果你不能显示你的数据,请你至少你想放弃时所使用的代码复制重复。目前很难提供帮助。 – cel 2014-12-04 22:40:10

+1

'drop_duplicates'不适用于索引,而是数据框中的值! (所以它查找重复的行,而不是重复的索引)。但你也有索引上的相同功能(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.drop_duplicates.html) – joris 2014-12-05 08:02:55

+0

@joris谢谢!如果你写了这个答案,你会得到支票 – sedavidw 2014-12-05 13:42:00

回答

1

drop_duplicates不起作用的索引,但在数据帧的值! (所以它查找重复的行,而不是重复的索引)。

但你也有对指数相同的功能(见doc):

df.index.drop_duplicates() 

随着最终得到的指数,可以重新编制。
另一个选项是将索引作为列添加,并在该列上使用DataFrame.drop_duplicates
另一种选择是使用GROUPBY:df.groupby(level=0).first()(和你适应了first你想重复的行做什么)