在Panda的“usecols”中使用索引或名称是否更快?

时间:2016-04-04 21:36:45

标签: python performance csv pandas

假设我们有一个(巨大的)csv文件,标题为“data”。

我用pandas(导入为pd)加载此文件:

pd_data = pd.read_csv(csv_file)

现在,假设该文件有多个标题和多行,所以我想提高阅读速度并减少内存使用量。

使用之间的性能是否存在差异:

(1) pd.read_csv(csv_file, usecols=['data'])

(2) pd.read_csv(csv_file, usecols=0)

(我们假设'数据'始终是第0列)。

使用(1)的原因是,无论文件中实际存储的是什么'数据',我们都会加载正确的列。

使用(2)确实要求我们相信第0列确实是“数据”。

我认为(2)更快的原因是因为(1)在查找列时可能会有一些开销(除非它说“如果匹配第一列,停止搜索”,当然有点类似)。

问题:

  1. 在(1)和(2)中哪种方法更快?
  2. 有更快的方法吗?
  3. 谢谢。

0 个答案:

没有答案