当前位置: 首页 > 知识库问答 >
问题:

使用Pandas获取大Excel文件的重复行[重复]

孙渝
2023-03-14

我有一个至少 600,00 行的 excel 文件(大小各不相同)。我想用熊猫获取特定列的所有重复项。

这是我到目前为止尝试过的:

use_cols = ['ID', 'AMOUNT']

df = pd.DataFrame()

for chunk in pd.read_csv("INPUT.csv", usecols=use_cols, chunksize=10000):
    df = pd.concat([df, chunk])

duplicates = df[df.duplicated(["ID"])]

print(duplicates)

然而,我得到的结果不是重复的,我不确定我可能做错了什么。有没有更有效的方法来解决这个问题?

共有2个答案

闽涵蓄
2023-03-14

如果您正在对行为不像预期的分块数据进行某种操作,您应该做的第一件故障排除事情是考虑如何在数据集上执行该操作,然后当该操作在多个块/分区上执行时,您将如何聚合该操作。很多时候,您会发现有些方法需要调整,但您尚未实际实施。

这里的问题是,您正在以块的形式读取数据,因此在整个文件中重复但在块中从未出现过多次的记录不会显示为重复。有多种处理方法,包括所谓的“外部合并排序”,您可以首先对数据进行排序,以便总是在彼此旁边找到重复项。这里的另一个用户有一种方法,它采用了另一种可能更容易实现的方法。因为该方法仍在使用分块器,所以在处理所有数据方面不会产生问题。

赵经国
2023-03-14

我试过复制,我得到的行是重复的,也就是说,第一个我不考虑,因为它将是唯一的,如果其他没有

 类似资料:
  • 我想对名为“LTE\u PrbUtil”的excel文件工作表进行排序,它有一个名为“CELL”的列,该列是字符串降序。当我运行程序并发现一些错误时: 这是我的代码: 数据框似乎无法识别。有人能帮忙吗?

  • 我有一个熊猫数据框,其中包含如下所示的数据: 所以ID可以在特定月份的任何类下,下个月他的类可能会改变。现在我想做的是,为每个ID获取它在特定类别下的月数,以及它属于的最新类别。像下面这样: 如何在python中实现这一点。有人能帮我吗?另外,由于真实的数据集是巨大的,并且无法手动验证,我如何才能获得属于多个类的ID列表?

  • 有没有办法将WorkbookFactory与大型Excel文件一起使用?(5.5 MB) 当文件变大时,使用背景色。“我收到错误:更改excel不是一个选项。读取excel时是否可以忽略样式?侧边信息:更改了许多不包含文本的行的背景。

  • 嗨,我一直试图写代码,这样我就可以生成一个excel表,也可以下载当用户点击下载按钮.....我已经成功地生成了excel表,但我尝试下载同样的,但我没有成功。 我使用的方法是:

  • 我有一个数据帧,我根据-列进行分组。对于每个组,我想得到包含最大值的行(整行,而不仅仅是值)。我能够做到这一点,首先获得每个组的最大值,然后创建一个过滤器数组,然后在原始数据帧上应用过滤器。像这样, 这个解决方案是可行的,但不知何故似乎过于繁琐。有人知道更好的方法吗?最好是一条线。关于潜在的重复,我稍后会处理这些:)

  • 当我试图找到这个答案时,我可能使用了糟糕的搜索词。现在,在索引DataFrame之前,我以这种方式在列中获得一个值列表... …然后我将在列上设置索引。这似乎是浪费的一步。在索引上尝试上述操作时,我得到一个键错误。 如何获取索引中的值(单个和多个)并将其放入列表或元组列表中?