當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.dataframe.DataFrame.memory_usage用法及代碼示例


用法:

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

返回每列的內存使用量(以字節為單位)。

此文檔字符串是從 pandas.core.frame.DataFrame.memory_usage 複製而來的。

可能存在與 Dask 版本的一些不一致之處。

內存使用可以選擇包括索引和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

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.dataframe.DataFrame.memory_usage。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。