即使您是初学者,如何在 Python 中处理大型数据集

您不需要高级技能即可处理大型数据集。借助 Python 的内置功能和库,即使您是初学者,也可以毫不费力地处理大型数据集。

来源:KDnuggets

简介

在 Python 中处理大型数据集通常会导致一个常见问题:您使用 Pandas 加载数据,并且您的程序速度缓慢或完全崩溃。这通常是因为您试图同时将所有内容加载到内存中而发生的。

大多数内存问题源于加载和处理数据的方式。通过一些实用技术,您可以处理比可用内存大得多的数据集。

在本文中,您将学习在 Python 中高效处理大型数据集的七种技术。我们将从简单开始并逐步构建,因此到最后,您将确切地知道哪种方法适合您的用例。

🔗 您可以在 GitHub 上找到代码。如果您愿意,可以运行此示例数据生成器 Python 脚本来获取示例 CSV 文件并使用代码片段来处理它们。

1. 分块读取数据

对初学者最友好的方法是将数据分成较小的部分,而不是一次加载所有内容。

考虑这样一个场景:您有一个大型销售数据集,并且您想要查找总收入。以下代码演示了这种方法:

将 pandas 导入为 pd

# 定义块大小(每个块的行数)

块大小 = 100000

总收入 = 0

# 分块读取并处理文件

对于 pd.read_csv('large_sales_data.csv', chunksize=chunk_size) 中的块:# 处理每个块Total_revenue += chunk['revenue'].sum()print(f"总收入: ${total_revenue:,.2f}")我们不是一次加载所有 1000 万行,而是一次加载 100,000 行。我们计算每个块的总和并将其添加到我们的运行总计中。无论文件有多大,您的 RAM 只能容纳 100,000 行。何时使用:当您需要对大文件执行聚合(求和、计数、平均)或过滤操作时。2. 仅使用特定列通常,您不需要数据集中的每一列。仅加载您需要的内容可以显着减少内存使用量。3.优化数据类型常见的转换包括:4. 使用分类数据类型