读取csv比读取pd快。读取\u csv

2024-04-20 10:42:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在寻找一种比熊猫更快地阅读csv的方法

有人能告诉我为什么吗

%%time
reader = csv.reader(open('qwerty.csv', 'r'))
out = list(reader)

慢于

%%time
dtf_out = pd.read_csv("qwerty.csv")

详情:

qwerty.shape (100000,2)
wall.time csv.reader 800ms
wall.time pd.read_csv 200ms

是否有比pd.csv_read()更快的Python csv读取器


Tags: csv方法readtime读取器openoutlist
1条回答
网友
1楼 · 发布于 2024-04-20 10:42:56

我将从这个形状假设csv文件非常简单。pandas经过高度优化以处理表格数据,并使用numpy数组作为其底层容器,numpy数组是普通的C数组

这意味着dtf_out = pd_read("qwerty.csv")主要在C语言级别执行,开销很小

csv模块版本没有那么糟糕,但是必须从reader迭代器构建Python列表

但是你的比较是不公平的。加载pandas模块需要一些时间,可能比600毫秒的差异要大得多。事实上,这一切都取决于你想对数据做什么。如果你想以一种矢量化的方式处理它,那么就使用numpy或pandas,它们既快速又强大。如果要执行某些字符串操作(不可矢量化),请使用csv模块。如果你需要节省内存,也别忘了熊猫

相关问题 更多 >