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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。