【问题标题】:Index contains duplicate entries after drop_duplicates called调用 drop_duplicates 后索引包含重复条目
【发布时间】:2015-02-03 00:10:08
【问题描述】:

我有一个包含重复条目的 pandas 数据框,我想使用 seaborn 创建一个 tsplot。我在数据框上调用drop_duplicates(甚至调用reset_index())但是当我开始绘制情节时,我仍然得到

ValueError: Index contains duplicate entries, cannot reshape

drop_duplicates 不解决这个问题有什么原因吗?

编辑我什至在删除后对数据框调用duplicated 进行了检查,所有行都显示False。正如我所料。

我意识到这里没什么好说的,我只是想看看我是否缺少一些直观的东西。将尝试创建一个小示例在此处显示,但我的数据集相当大

【问题讨论】:

  • 如果您无法显示您的数据,请至少复制您在尝试删除重复项时使用的代码。目前很难提供帮助。
  • drop_duplicates 不适用于索引,但适用于数据框中的值! (所以它寻找重复的行,而不是重复的索引)。但是你在索引上也有同样的功能(pandas.pydata.org/pandas-docs/stable/generated/…
  • @joris 谢谢!如果您写下该答案,您将获得支票

标签: python pandas duplicates dataframe seaborn


【解决方案1】:

drop_duplicates 不适用于索引,但适用于数据框中的值! (所以它寻找重复的行,而不是重复的索引)。

但是你在索引上也有同样的功能(见doc):

df.index.drop_duplicates()

使用生成的索引,您可以重新索引。
另一种选择是将索引添加为列并在该列上使用DataFrame.drop_duplicates
另一种选择是使用 groupby:df.groupby(level=0).first()(并且您将 first 调整为您想要对重复行执行的操作)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2021-12-22
    • 2015-04-23
    • 2018-05-31
    • 2018-02-09
    相关资源
    最近更新 更多