maxframe.dataframe.DataFrame.memory_usage#
- DataFrame.memory_usage(index=True, deep=False)#
返回每个列的内存使用量(以字节为单位)。
内存使用量可以选择性地包括索引和 object 类型元素的贡献。
此值默认显示在 DataFrame.info 中。可以通过将
pandas.options.display.memory_usage设置为 False 来抑制显示。- 参数:
- 返回:
一个 Series,其索引为原始列名,值为每列的内存使用量(以字节为单位)。
- 返回类型:
参见
numpy.ndarray.nbytesndarray 元素消耗的总字节数。
Series.memory_usageSeries 消耗的字节数。
Categorical用于具有许多重复值的字符串的内存高效数组。
DataFrame.infoDataFrame 的简明摘要。
示例
>>> import maxframe.tensor as mt >>> import maxframe.dataframe as md >>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool'] >>> data = dict([(t, mt.ones(shape=5000).astype(t)) ... for t in dtypes]) >>> df = md.DataFrame(data) >>> df.head().execute() int64 float64 complex128 object bool 0 1 1.0 1.000000+0.000000j 1 True 1 1 1.0 1.000000+0.000000j 1 True 2 1 1.0 1.000000+0.000000j 1 True 3 1 1.0 1.000000+0.000000j 1 True 4 1 1.0 1.000000+0.000000j 1 True
>>> df.memory_usage().execute() Index 128 int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64
>>> df.memory_usage(index=False).execute() int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64
默认情况下,object 类型列的内存占用会被忽略:
>>> df.memory_usage(deep=True).execute() Index 128 int64 40000 float64 40000 complex128 80000 object 160000 bool 5000 dtype: int64
使用 Categorical 来高效存储具有许多重复值的 object 类型列。
>>> df['object'].astype('category').memory_usage(deep=True).execute() 5216