Pandas 的 DataFrame.info(~)
方法輸出 DataFrame 的簡要摘要,其中包括數據類型和內存消耗等信息。
參數
1.verbose
| boolean
| optional
是否輸出詳細摘要。默認值取決於您的機器。
2. buf
| writable buffer
| optional
輸出的位置。默認情況下,buf=sys.stdout
(標準輸出)。
3. max_cols
| int
| optional
要輸出的最大列數。如果源 DataFrame 中的列數超過此值,則某些列將被截斷。默認值取決於您的機器。
4. memory_usage
| string
或 boolean
| optional
是否顯示每列的內存使用情況:
值 |
說明 |
---|---|
|
顯示內存使用情況。對於包含對象類型(例如字符串)的DataFrames,內存使用情況將不準確。這是因為該方法對對象類型消耗的內存進行粗略估計。 |
|
不顯示內存使用情況。 |
|
執行一些繁重的工作來計算對象類型的實際內存使用情況,並顯示內存使用情況。 |
默認值取決於您的機器。
5. null_counts
| boolean
| optional
是否顯示每列中非空值的數量。同樣,默認值取決於您的機器。
返回值
沒有返回任何內容,因為我們在這裏所做的隻是打印 DataFrame 的摘要。
例子
考慮以下 DataFrame :
df = pd.DataFrame({"A":[3,4],"B":[5.0,6.0],"C":[True,False],"D":["K","KK"]})
df
A B C D
0 3 5.0 True K
1 4 6.0 False KK
基本用法
不帶任何參數調用info()
:
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 4 columns):
A 2 non-null int64
B 2 non-null float64
C 2 non-null bool
D 2 non-null object
dtypes: bool(1), float64(1), int64(1), object(1)
memory usage: 178.0+ bytes
在這裏,我的機器有以下默認選項:
-
verbose=True
-
memory_usage=True
-
null_counts=True
設置 verbose=False
如果您不需要每列的信息,請像這樣設置verbose=False
:
df.info(verbose=False)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Columns: 4 entries, A to D
dtypes: bool(1), float64(1), int64(1), object(1)
memory usage: 178.0+ bytes
寫入外部文件
我們可以使用 buf
參數將輸出寫入外部文件,而不是在屏幕上顯示輸出。
import io
buffer = io.StringIO()
df.info(buf=buffer)
str_summary = buffer.getvalue()
with open("df_summary.txt", "w") as file:
file.write(str_summary)
這將在與 Python 腳本相同的目錄中創建一個名為 "df_summary.txt"
的文件。該文件的內容與您在屏幕上看到的內容相同。
設置memory_usage=深
由於我們的 DataFrame 包含一列數據類型對象(列 D
),因此 memory_usage=True
返回的值將為 off:
df.info()
<class 'pandas.core.frame.DataFrame'>
...
memory usage: 178.0+ bytes
要更準確地表示 DataFrame 消耗的內存,請設置 memory_usage="deep"
:
df.info(memory_usage="deep")
<class 'pandas.core.frame.DataFrame'>
...
memory usage: 287.0 bytes
我們看到DataFrame 占用了287
字節,因此我們相差了近100
字節。
相關用法
- Python Pandas DataFrame infer_objects方法用法及代碼示例
- Python Pandas DataFrame insert方法用法及代碼示例
- Python PySpark DataFrame intersect方法用法及代碼示例
- Python Pandas DataFrame index屬性用法及代碼示例
- Python PySpark DataFrame intersectAll方法用法及代碼示例
- Python Pandas DataFrame interpolate方法用法及代碼示例
- Python Pandas DataFrame items方法用法及代碼示例
- Python Pandas DataFrame isin方法用法及代碼示例
- Python Pandas DataFrame idxmin方法用法及代碼示例
- Python Pandas DataFrame iloc屬性用法及代碼示例
- Python Pandas DataFrame idxmax方法用法及代碼示例
- Python Pandas DataFrame iteritems方法用法及代碼示例
- Python Pandas DataFrame isna方法用法及代碼示例
- Python Pandas DataFrame iat屬性用法及代碼示例
- Python Pandas DataFrame itertuples方法用法及代碼示例
- Python Pandas DataFrame iterrows方法用法及代碼示例
- Python Pandas DataFrame isnull方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
- Python Pandas DataFrame pop方法用法及代碼示例
- Python Pandas DataFrame nsmallest方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame max方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python Pandas DataFrame agg方法用法及代碼示例
- Python Pandas DataFrame copy方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | info method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。