How to load large data into pandas efficiently?
我正在处理一个非常宽的数据集(1005行*590718列,1.2g)。将如此大的数据集加载到熊猫数据帧中会导致完全由于内存不足而导致代码失败。
我知道Spark可能是处理大数据集的大熊猫的一个很好的替代方案,但是在大熊猫中,在加载大数据时是否有任何可改进的解决方案来减少内存使用?
- 看到stackoverflow.com/questions/14262433/…?
- 如果可能的话,将csv转换成拼花格式,并在spark中使用pyarrow或fast拼花包以加快处理速度。
- 谢谢您。这很有帮助!
你可以使用
1
| pandas.read_csv(filename, chunksize = chunksize) |
- 稍后是否需要附加块?我的数据集太宽。列是否有类似的功能,或者我应该转换df?
- 您可以使用concat函数进行后续操作,例如:chunk_df = pd.read_csv(filename, iterator=True, chunksize=chunksize)df = pd.concat(chunk_df, ignore_index=True)。