Pandas DataFrame.memory_usage(~)
返回每列占用的内存量(以字节为单位)。
参数
1.index
| boolean
| optional
是否也包括索引(行标签)的内存使用情况。默认情况下,index=True
。
2. deep
| boolean
| optional
是否查看 object
类型的实际内存使用情况。对于包含对象类型(例如字符串)的DataFrames,内存使用情况将不准确。这是因为该方法对 object
类型消耗的内存进行粗略估计。默认情况下,deep=False
。
返回值
Series
,保存源 DataFrame 每一列的内存使用情况(以字节为单位)。
例子
基本用法
考虑以下 DataFrame :
df = pd.DataFrame({"A":[4,5,6],"B":["K","KK","KKK"], "C": [True,False,True], "D":[4.0,5.0,6.0]}, index=[10,11,12])
df
A B C D
10 4 K True 4.0
11 5 KK False 5.0
12 6 KKK True 6.0
以下是数据类型的细分:
df.dtypes
A int64
B object
C bool
D float64
dtype: object
计算每列的内存使用情况:
df.memory_usage()
Index 24
A 24
B 24
C 3
D 24
dtype: int64
列A
和D
分别使用类型int64
和float64
。 64
位等于 8
字节,并且由于每列中有 3 个值,因此 A
和 D
列的总内存使用量为 8*3=24
。
接下来,让我们处理布尔列。每个布尔值占用 1
字节,因此该列总共使用 1*3=3
字节。
最后,让我们看看 B
列,它保存数据类型 string
。在 Pandas 中,所有字符串都被归类为对象。默认情况下,memory_usage 方法天真地假设每个对象占用 8 个字节的内存,而不进行任何形式的检查。然而,实际消耗的内存显然会根据对象的内部结构而有所不同(例如,长字符串比短字符串占用更多空间)。我们可以通过设置 deep=True
来更准确地表示内存使用情况。
指定深度=True
要更准确地表示 object
类型的内存消耗:
df.memory_usage(deep=True)
Index 24
A 24
B 185
C 3
D 24
dtype: int64
我们看到B
列实际上占用了 185 个字节。
指定索引=False
要排除索引(行标签)的内存使用情况:
df.memory_usage(index=False)
A 24
B 24
C 3
D 24
dtype: int64
相关用法
- Python Pandas DataFrame mean方法用法及代码示例
- Python Pandas DataFrame merge方法用法及代码示例
- Python Pandas DataFrame melt方法用法及代码示例
- Python Pandas DataFrame median方法用法及代码示例
- Python Pandas DataFrame max方法用法及代码示例
- Python Pandas DataFrame mod方法用法及代码示例
- Python Pandas DataFrame mode方法用法及代码示例
- Python Pandas DataFrame mask方法用法及代码示例
- Python Pandas DataFrame min方法用法及代码示例
- Python Pandas DataFrame mad方法用法及代码示例
- Python Pandas DataFrame mul方法用法及代码示例
- Python Pandas DataFrame empty属性用法及代码示例
- Python Pandas DataFrame pop方法用法及代码示例
- Python Pandas DataFrame nsmallest方法用法及代码示例
- Python Pandas DataFrame sample方法用法及代码示例
- Python Pandas DataFrame items方法用法及代码示例
- Python Pandas DataFrame swaplevel方法用法及代码示例
- Python Pandas DataFrame agg方法用法及代码示例
- Python Pandas DataFrame copy方法用法及代码示例
- Python Pandas DataFrame pow方法用法及代码示例
- Python Pandas DataFrame insert方法用法及代码示例
- Python Pandas DataFrame lt方法用法及代码示例
- Python Pandas DataFrame all方法用法及代码示例
- Python Pandas DataFrame unstack方法用法及代码示例
- Python PySpark DataFrame filter方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | memory_usage method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。