gpt4 book ai didi

python - Numpy Genfromtxt 比 Pandas read_csv 慢

转载 作者:行者123 更新时间:2023-12-04 12:04:08 35 4
gpt4 key购买 nike

我正在加载一个 CSV 文件(如果你想要特定的文件,它是来自 http://www.kaggle.com/c/loan-default-prediction 的训练 csv)。在 numpy 中加载 csv 比在 Pandas 中花费的时间要多得多。

timeit("genfromtxt('train_v2.csv', delimiter=',')", "from numpy import genfromtxt",  number=1)
102.46608114242554

timeit("pandas.io.parsers.read_csv('train_v2.csv')", "import pandas", number=1)
13.833590984344482

我还要提到 numpy 内存使用量的波动更大,更高,并且一旦加载就显着更高的内存使用量。 (numpy 为 2.49 GB,pandas 为 ~600MB)pandas 中的所有数据类型都是 8 个字节,因此不同的 dtypes 没有区别。我的内存使用量远远没有达到最大值,因此时间差不能归因于分页。

这种差异有什么原因吗? genfromtxt 效率低下吗? (并泄漏一堆内存?)

编辑:

numpy 版本 1.8.0

Pandas 版本 0.13.0-111-ge29c8e8

最佳答案

来自 Numpy 模块的 'genfromtxt' 运行两个主循环。第一个将文件中的所有行转换为字符串,然后另一个循环将每个字符串转换为其数据类型。但是与 loadtxt 和 read_csv 等其他命令相比,您在 'genfromtxt' 中获得了更大的灵活性。

关于python - Numpy Genfromtxt 比 Pandas read_csv 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486963/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com