加快熊猫中csv文件的此条件行读取的速度?

霍尔巴耶

我修改了这篇文章中的一行,以有条件地从csv文件中读取行:

filename=r'C:\Users\Nutzer\Desktop\Projects\UK_Traffic_Data\test.csv'

df = (pd.read_csv(filename, error_bad_lines=False) [lambda x: x['Accident_Index'].str.startswith('2005')])

这条线对于小型测试数据集而言效果很好。但是,我确实要读取一个很大的csv文件,并且读取该文件需要很长时间。实际上,最终NotebookApp.iopub_data_rate_limit达到了。我的问题是:

  1. 有没有办法改善此代码及其性能?
  2. “ Accident_Index”列中的记录已排序。因此,如果达到“ Accident_Index”不等于的值,则可以退出read语句str.startswith('2005')您对此有何建议?

以下是一些示例数据:

在此处输入图片说明

所需的输出应该是包含前六条记录的pandas数据框。

Praveenrajan27

最初,我们可以只读取要在上述条件下进行过滤的特定列(假设这会大大减少读取开销)。

#reading the mask column
df_indx = (pd.read_csv(filename, error_bad_lines=False,usecols=['Accident_Index'])
           [lambda x: x['Accident_Index'].str.startswith('2005')])

然后,我们可以使用该列中的值通过skiprowsnrows属性从文件中读取其余列,因为它们是输入文件中的排序值

df_data= (pd.read_csv(filename,    
         error_bad_lines=False,header=0,skiprows=df_indx.index[0],nrows=df_indx.shape[0]))
df_data.columns=['Accident_index','data']

这将提供我们想要的数据的子集。我们可能不需要单独获取列名。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

加快在Java中读取CSV的速度

加快在python中读取非常大的netcdf文件的速度

如何加快在GNU Octave中读取大文件的速度?

读取熊猫中的CSV文件,中间插入空白行

熊猫使用CSV文件读取python中的特定行

Android加快文件读取速度的方法

加快读取和打开文件的速度

熊猫:如何从CSV文件读取特定行

熊猫:如何从CSV或Excel文件读取行?

如何使用fsspec + adlfs加快从adl://读取CSV / Parquet文件的速度?

加快读取和操作30,000个CSV文件的速度

加快我在python中读取数据的速度?

读取熊猫中的csv文件并获取价值

加快熊猫迭代的速度,寻找对后续元素的条件进行测试

如何根据熊猫中的条件在特定行开始读取Excel文件

如何加快 Python CSV 读取到 MySQL 写入的速度

有什么办法可以加快熊猫文件的读写速度?

读取熊猫中CSV文件的所有内容(最后一行除外)

如何在熊猫中读取具有行名称的数据框的CSV文件

如何将具有多个标题行的csv文件读取到熊猫中?

如何在Jquery或Javascript中解析CSV文件时加快搜索速度?

有条件地在熊猫中读取csv

如何根据两个条件过滤csv文件中的特定行?(使用熊猫)

当我不需要所有行和列时,如何使用read _ *(file)加快Pandas的文件读取速度?

在Python中从CSV文件读取行

在Python中从CSV文件读取行

读取csv文件中的特定行,python

如何在熊猫中读取奇怪的csv文件?

熊猫:read_csv(在单个文件中读取多个表)