pandas.DataFrame.memory_usage # 数据框。memory_usage ( index = True , deep = False ) [来源] # 返回每列的内存使用情况(以字节为单位)。 内存使用情况可以选择包括对象数据类型的索引和元素的贡献。 默认情况下,该值显示在DataFrame.info中。这可以通过设置pandas.options.display.memory_usage为 False 来抑制。 参数: 索引bool,默认 True指定是否在返回的Series中包含DataFrame索引的内存使用情况。如果index=True,则索引的内存使用情况是输出中的第一项。 深布尔值,默认 False如果为 True,则通过询问对象数据类型以了解系统级内存消耗来深入内省数据 ,并将其包含在返回值中。 返回: 系列一个Series,其索引是原始列名,其值是每列的内存使用量(以字节为单位)。 也可以看看 numpy.ndarray.nbytesndarray 元素消耗的总字节数。 Series.memory_usage系列消耗的字节数。 Categorical用于具有许多重复值的字符串值的内存高效数组。 DataFrame.infoDataFrame 的简明摘要。 笔记 请参阅常见问题了解更多详细信息。 例子 >>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool'] >>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t)) ... for t in dtypes]) >>> df = pd.DataFrame(data) >>> df.head() int64 float64 complex128 object bool 0 1 1.0 1.0+0.0j 1 True 1 1 1.0 1.0+0.0j 1 True 2 1 1.0 1.0+0.0j 1 True 3 1 1.0 1.0+0.0j 1 True 4 1 1.0 1.0+0.0j 1 True >>> df.memory_usage() Index 128 int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64 >>> df.memory_usage(index=False) int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64 默认情况下会忽略对象数据类型列的内存占用: >>> df.memory_usage(deep=True) Index 128 int64 40000 float64 40000 complex128 80000 object 180000 bool 5000 dtype: int64 使用分类可以有效存储具有许多重复值的对象数据类型列。 >>> df['object'].astype('category').memory_usage(deep=True) 5244