本文說明如何取得DataFrame行數、列數、大小、及其他相資訊(number of rows, columns, elements)。
首先建立一個DataFrame,下面各方法都以此DataFrame做範例:
1 2 3 4 5 6 7 8 9 10 11
| >>> import pandas as pd >>> df = pd.DataFrame({ 'col1': [1, 2], 'col2': ['VAL1', 'VAL2'], 'col3': [5.555, 6.666], 'col4': [None, 4] }) >>> print(df) col1 col2 col3 col4 0 1 VAL1 5.555 NaN 1 2 VAL2 6.666 4.0
|
df.info()
: 顯示行數、列數、記憶體用量…等資訊
info()
方法可顯示DataFrame的資訊,如記憶體用量、行數、列數、non-null(non-NaN)的元素量、欄位資料型態(Dtype)…等資訊。其結果為標準輸出,不能做為變數或用來計算。
1 2 3 4 5 6 7 8 9 10 11 12
| >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 2 entries, 0 to 1 Data columns (total 4 columns): --- ------ -------------- ----- 0 col1 2 non-null int64 1 col2 2 non-null object 2 col3 2 non-null float64 3 col4 1 non-null float64 dtypes: float64(2), int64(1), object(1) memory usage: 192.0+ bytes
|
df.shape
: 取得行數(columns)、列數(rows)
shape
屬性回傳一個tuple,裡面儲存DataFrame維度(列數及行數)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| >>> print(df.shape) (2, 4)
>>> print(df.shape[0]) 2
>>> print(df.shape[1]) 4
>>> rows, cols = df.shape >>> print(rows) 2 >>> print(cols) 4
|
len()
: 取得行數(columns)、列數(rows)
要取得DataFrame行數及列數,可使用len()
函式。
1 2 3 4 5 6 7
| >>> print(len(df)) 2
>>> print(len(df.columns)) 4
|
df.size
: 取得DataFrame所有元素(element)的總數量
★ 使用set_index()
方法注意事項
若使用set_index()
方法將column設定為index時,此column將不再計入總列數。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| >>> df2 = df.set_index(['col1']) >>> print(df2) col2 col3 col4 col1 1 VAL1 5.555 NaN 2 VAL2 6.666 4.0
>>> df2.info() <class 'pandas.core.frame.DataFrame'> Index: 2 entries, 1 to 2 Data columns (total 3 columns): --- ------ -------------- ----- 0 col2 2 non-null object 1 col3 2 non-null float64 2 col4 1 non-null float64 dtypes: float64(2), object(1) memory usage: 64.0+ bytes
>>> print(df2.shape) (2, 3)
>>> print(len(df2.columns)) 3
>>> print(df2.size) 6
|