Pandas内存错误



我有一个csv文件,大约有50000行和300列。执行以下操作导致Pandas(python)内存错误:

merged_df.stack(0).reset_index(1)

数据帧看起来像:

GRID_WISE_MW1   Col0    Col1    Col2 .... Col300
7228260         1444    1819    2042
7228261         1444    1819    2042

我使用的是最新的pandas(0.13.1),行数较少的数据帧(~2000)不会出现错误

谢谢!

所以它占用了我的64位linux(32GB)内存,略低于2GB。

In [5]: def f():
       df = DataFrame(np.random.randn(50000,300))
       df.stack().reset_index(1)

In [6]: %memit f()
maximum of 1: 1791.054688 MB per loop

因为你没有具体说明。这在32位上根本不起作用(因为你通常不能分配2GB的连续块),但如果你有合理的交换/内存,这应该会起作用。

作为一种替代方法,您可以使用库"dask"
例如:

# Dataframes implement the Pandas API
import dask.dataframe as dd`<br>
df = dd.read_csv('s3://.../2018-*-*.csv')

最新更新