当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.memory_usage用法及代码示例


用法:

DataFrame.memory_usage(index=True, deep=False)

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

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

该值默认显示在DataFrame.info 中。这可以通过将pandas.options.display.memory_usage 设置为 False 来抑制。

参数

index布尔值,默认为真

指定是否在返回的 Series 中包含 DataFrame 索引的内存使用情况。如果 index=True ,则索引的内存使用量是输出中的第一项。

deep布尔值,默认为 False

如果为 True,则通过询问 object dtypes 来深入检查数据以了解系统级内存消耗,并将其包含在返回值中。

返回

Series

一个系列,其索引是原始列名,其值是每列的内存使用量(以字节为单位)。

例子

>>> 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

object dtype 列的内存占用默认被忽略:

>>> df.memory_usage(deep=True)
Index            128
int64          40000
float64        40000
complex128     80000
object        180000
bool            5000
dtype:int64

使用分类有效存储具有许多重复值的 object-dtype 列。

>>> df['object'].astype('category').memory_usage(deep=True)
5244

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.memory_usage。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。