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

Python 读取csv比读取pd快。读取\u csv,python,pandas,csv,Python,Pandas,Csv,我在寻找一种比熊猫更快地阅读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 是否有任何Python的csv

我在寻找一种比熊猫更快地阅读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

是否有任何Python的csv阅读器,它甚至比pd.csv\u read还要快?

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

这意味着dtf_out=pd_readqwerty.csv主要在C语言级别执行,开销很小

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


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

谢谢您的评论。我的最终目标是使用字典而不是数据帧来加速操作。我的第一次尝试是不使用pandas读取csv文件。就这些。顺便说一句,在%%time内导入熊猫仍然比csv模块快,我仍然不明白为什么,我可能错过了一些东西。