Python 如何根据CSV文件的大小知道数据帧需要多少RAM?

Python 如何根据CSV文件的大小知道数据帧需要多少RAM?,python,dataframe,csv,memory,ram,Python,Dataframe,Csv,Memory,Ram,我有一个10.8GB的CSV文件。我需要读取它并将其放入数据框中。(熊猫-蟒蛇) 我怎么知道我需要多少内存 我的电脑安装了8GB的RAM,这是不够的。然而,我找到了GoogleColab,它有将近12.72GB的内存。这是否足够?一种估算CSV读取为DF时在RAM中可能需要的大小的方法,而实际上不必手动计算每个字段的大小: 熊猫提供以下功能: 这会给你一些信息,你可以用来做一些快速的数学 如果您的CSV非常大,您可以创建一个小的、具有代表性的CSV数据样本,并使用,例如:,将其读取到DF中,然后

我有一个10.8GB的CSV文件。我需要读取它并将其放入数据框中。(熊猫-蟒蛇) 我怎么知道我需要多少内存


我的电脑安装了8GB的RAM,这是不够的。然而,我找到了GoogleColab,它有将近12.72GB的内存。这是否足够?

一种估算CSV读取为DF时在RAM中可能需要的大小的方法,而实际上不必手动计算每个字段的大小:

熊猫提供以下功能:

这会给你一些信息,你可以用来做一些快速的数学

如果您的CSV非常大,您可以创建一个小的、具有代表性的CSV数据样本,并使用,例如:,将其读取到DF中,然后使用上述函数结果,以便能够估计如果您要读取整个文件,将需要多少RAM。此外,请确保您在CSV中使用与读取操作相同的选项参数进行读取,就像您在实际操作中使用的一样

有关DF的其他数据可用。见此:


有了这些信息,您可以计划一个有效的策略,使用上面链接中包含的
迭代器选项来处理DF。

一种方法来估计CSV在读取为DF时在RAM中可能需要的大小,而实际上不必手动计算每个字段的大小:

熊猫提供以下功能:

这会给你一些信息,你可以用来做一些快速的数学

如果您的CSV非常大,您可以创建一个小的、具有代表性的CSV数据样本,并使用,例如:,将其读取到DF中,然后使用上述函数结果,以便能够估计如果您要读取整个文件,将需要多少RAM。此外,请确保您在CSV中使用与读取操作相同的选项参数进行读取,就像您在实际操作中使用的一样

有关DF的其他数据可用。见此:


有了这些信息,您可以计划一个有效的策略,使用上面链接中包含的
chunks
迭代器选项来处理DF。

没有回答这个问题,但我建议替代方法:您可以使用
pandas.readcsv(..,chunksize=1024)逐块加载csv
并且可能为您的系统使用一个合理的区块大小来处理您的文件,另一种选择是将您的csv拆分为更小的文件我正在处理这个问题,但整个csv文件包含30个数据帧,我想,如果我能处理整个文件,可能会更容易、更快。我没有回答这个问题,但我提出了一些替代方案:你可以使用
pandas.readcsv(…,chunksize=1024)
按块加载csv,也许你的系统可以使用合理的块大小来处理你的文件,另一种选择是将你的csv分割成更小的文件我正在处理这个问题,但是整个csv文件包含30个数据帧,我想如果我处理整个csv文件,可能会更容易、更快。。
#   Given a DF d: (example DF is arbitrary, something I had quickly available)
>>> d.shape
(182442, 2)  (rows x cols)

>>> d.dtypes
sta     float64
elev    float64

>>> d.memory_usage()
Index        128
sta      1459536
elev     1459536
dtype: int64