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


Python Pandas DataFrame info方法用法及代碼示例


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 | stringboolean | optional

是否顯示每列的內存使用情況:

說明

True

顯示內存使用情況。對於包含對象類型(例如字符串)的DataFrames,內存使用情況將不準確。這是因為該方法對對象類型消耗的內存進行粗略估計。

False

不顯示內存使用情況。

"deep"

執行一些繁重的工作來計算對象類型的實際內存使用情況,並顯示內存使用情況。

默認值取決於您的機器。

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 字節。

相關用法


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