Python 对于具有可变行和50K+的大型csv,加快pandas read#u csv;柱
我试图读取一个CSV文件,其中包含可变数量的列和行,以便计算每列的值(最小值、最大值、平均值、75/95分位数)。列的数量非常大(超过10K列,根据实验配置可以达到100K列或更多)。典型的行数可以是3000个样本。典型的CSV大小为700MB 我对数据集的了解:Python 对于具有可变行和50K+的大型csv,加快pandas read#u csv;柱,python,pandas,numpy,Python,Pandas,Numpy,我试图读取一个CSV文件,其中包含可变数量的列和行,以便计算每列的值(最小值、最大值、平均值、75/95分位数)。列的数量非常大(超过10K列,根据实验配置可以达到100K列或更多)。典型的行数可以是3000个样本。典型的CSV大小为700MB 我对数据集的了解: 第一列是日期类型 其他列的位置和名称因数据集的不同而不同,并且在当前位置未知 加载数据的时间 除第一列外,所有列中的数据都是int64或float64类型 我可以应用一些启发式方法来根据列的名称预先确定某些列(而不是所有列)的数据类型
read\u csv
加载数据集。一旦数据集被加载到数据帧中,其余的计算就会非常快
如果我只计算min、max和average,我就可以将数据集分块读取,并尝试加快读取csv
部分的速度。然而,为了确定不同的分位数,我认为必须将整个列读入数据帧
如何加快数据加载阶段
读取\u csv
。这是否有助于加快读取csv的速度。如果
那为什么呢如果您有耐心加载一次数据,那么您可以将其保存为另一种格式,如
parquet
或feather
,这样以后重新上载会更快
另一个签出的选项是库。
我建议您应该尝试使用数据并行处理技术(EX:PySCAPLE)处理数据。也许您可以考虑考虑[DASK库[])。@Martijnterhoor:在使用vaex加载数据之前,我需要将csv转换为其他格式吗?vaex.from_csv在从盒子中读取csv时同样慢。嗨,我不需要一次又一次地加载数据。加载数据后,我会根据数据生成报告,这是我唯一一次加载数据