【问题标题】:Time efficient way of dropping duplicates in a large dataframe of different types在不同类型的大型数据框中删除重复项的省时方法
【发布时间】:2020-10-05 17:36:52
【问题描述】:

假设我有这个数据框:

col1 col2

'a' [1,2,3]

'a' [1,2,3]

'b' [4,5,6]

我想删除重复项(在本例中为前两行)。我将如何以高效的 Python 方式完成此任务(我的完整数据框是数百万行和 7 列)

【问题讨论】:

  • 这能回答你的问题吗? Pandas: unique dataframe
  • 列表不可散列,因此您无法直接检查重复项。您可以将列表转换为元组,并使用 Pandas 检查重复项,就好像它们是数字一样。也就是说,您将使用此类数据获得最少的矢量化。

标签: python pandas numpy dataframe


【解决方案1】:

您可以尝试转换为可散列的东西,然后丢弃

inplace=True 将覆盖您的数据库

df["col2"] = df["col2"].transform(lambda k: tuple(k))
df.drop_duplicates(inplace=True)

【讨论】:

    【解决方案2】:

    请参阅Here 了解删除重复信息和示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-16
      • 2015-11-27
      • 2013-08-27
      • 2023-03-04
      • 2019-10-21
      • 1970-01-01
      • 2019-07-25
      • 2019-01-21
      相关资源
      最近更新 更多