Python pandas.DataFrame.memory_usage函数方法的使用

pandas.DataFrame.memory_usage() 是 Pandas 中用于查看 DataFrame 每一列(包括索引)占用内存大小的函数,单位为 字节(bytes)。对于优化内存使用和了解 DataFrame 的内存占用非常有用。memory_usage 返回的是字节数,如果需要以其他单位显示,可以进行转换。本文主要介绍一下Pandas中pandas.DataFrame.memory_usage方法的使用。

DataFrame.memory_usage(index=True, deep=False)[source]

返回每列的内存使用情况(以字节为单位)。

内存使用情况可以选择包括索引和对象 dtype元素的贡献。

默认情况下,此值显示在DataFrame.info中。可以通过设置pandas.options.display.memory_usage=False 来取消这种情况。

参数

index : bool,默认为True

指定是否在返回的Series中

包括DataFrame索引的内存使用情况。

如果index=True索引的内存使用率

在输出中的第一项。

deep : bool,默认为False

如果为True,则通过询问对象 dtype

来深入了解数据 的系统级内存消耗,

并将其包含在返回值中。

返回值

sizes : Series

一个Series,其索引是原始列名,

其值是每列的内存使用量(以字节为单位)。

例子

1)直接查看内存使用信息

import pandas as pd

df = pd.DataFrame({
    'int_column': [1, 2, 3],
    'float_column': [1.1, 2.2, 3.3],
    'object_column': ['a', 'b', 'c']
})

print(df.memory_usage())

2)深度统计 deep=True

import pandas as pd

df = pd.DataFrame({
    'int_column': [1, 2, 3],
    'float_column': [1.1, 2.2, 3.3],
    'object_column': ['a', 'b', 'c']
})

print(df.memory_usage(deep=True))

3)只查看总内存占用

结合 .sum() 直接查看整个 DataFrame 内存。

import pandas as pd

df = pd.DataFrame({
    'int_column': [1, 2, 3],
    'float_column': [1.1, 2.2, 3.3],
    'object_column': ['a', 'b', 'c']
})

print(df.memory_usage(deep=True).sum())

推荐阅读
cjavapy编程之路首页