我有一个巨大的数据集,我正在尝试逐行阅读它。现在,我正在使用 pandas 读取数据集:
df = pd.read_csv("mydata.csv", sep =',', nrows = 1)
这个函数只允许我阅读第一行,但我如何阅读第二行、第三行等等呢? (我想用熊猫。)
编辑:为了说得更清楚,我需要一次读取一行,因为数据集是 20 GB,我无法将所有内容都保存在内存中。
原文由 Guido Muscioni 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个巨大的数据集,我正在尝试逐行阅读它。现在,我正在使用 pandas 读取数据集:
df = pd.read_csv("mydata.csv", sep =',', nrows = 1)
这个函数只允许我阅读第一行,但我如何阅读第二行、第三行等等呢? (我想用熊猫。)
编辑:为了说得更清楚,我需要一次读取一行,因为数据集是 20 GB,我无法将所有内容都保存在内存中。
原文由 Guido Muscioni 发布,翻译遵循 CC BY-SA 4.0 许可协议
查看 pandas 文档,有一个 read_csv 函数的参数:
skiprows
如果将列表分配给此参数,它将跳过列表索引的行:
skiprows = [0,1]
这将跳过第一行和第二行。因此 nrow
和 skiprows
的组合允许单独读取数据集中的每一行。
原文由 Guido Muscioni 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答972 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
一种方法是逐部分读取文件并存储每个部分,例如:
此处将跳过已读取并存储在 df1 中的前 10000 行,并将接下来的 10000 行存储在 df2 中。
也许有一种方法可以将这个想法引入到 for 或 while 循环中。