Pandas DataFrame.mean(~) 方法計算 DataFrame 的每一行或每一列的平均值。
參數
1.axis | int 或 string | optional
是否按行或按列計算平均值:
| 軸 | 說明 | 
|---|---|
| 
 | 計算每列的平均值。 | 
| 
 | 計算每行的平均值。 | 
默認情況下,axis=0 。
2. skipna | boolean | optional
是否跳過 NaN 。跳過的 NaN 不會計入總大小,總大小是計算平均值時的除數。默認情況下,skipna=True 。
3. level | string 或 int | optional
要考慮的級別的名稱或整數索引。僅當您的 DataFrame 是多索引時,這才有意義。
4. numeric_only | None 或 boolean | optional
允許的值如下:
| 值 | 說明 | 
|---|---|
| 
 | 僅考慮數字行/列(例如  | 
| 
 | 嘗試使用所有類型(例如字符串和日期)進行計算,並在無法計算平均值時拋出錯誤。 | 
| 
 | 嘗試使用所有類型進行計算,並忽略無法計算均值的所有行/列不會引發錯誤. | 
請注意,僅當類型之間明確定義了 + 運算符時才能計算均值。
默認情況下,numeric_only=None 。
返回值
如果指定了level參數,則將返回DataFrame。否則,將返回Series。
例子
考慮以下 DataFrame :
df = pd.DataFrame({"A":[2,3], "B":[4,5]})
df
   A  B
0  2  4
1  3  5列均值
要計算每列的平均值:
df.mean()   # or axis=0
A    2.5
B    4.5
dtype: float64行均值
要計算每行的平均值,請設置 axis=1 :
df.mean(axis=1)
0    3.0
1    4.0
dtype: float64指定skipna
考慮以下帶有缺失值的DataFrame:
df = pd.DataFrame({"A":[3,pd.np.nan,5]})
df
   A
0  3.0
1  NaN
2  5.0默認情況下 skipna=True ,這意味著在計算平均值時將忽略所有缺失值:
df.mean()   # skipna=True
A    4.0
dtype: float64考慮缺失值:
df.mean(skipna=False)
A   NaN
dtype: float64請注意,如果行/列包含缺失值,則該行/列的平均值將為 NaN 。
指定numeric_only
考慮以下 DataFrame :
df = pd.DataFrame({"A":[4,5], "B":[2,True], "C":["6",False]})
df
   A  B     C
0  4  2     "6"
1  5  True  False此處, B 和 C 列都包含混合類型,但主要區別在於,求和是為 B 定義的,而不是為 C 定義的。計算平均值需要明確定義類型之間的求和。
回想一下, True 布爾值的內部表示是 1 ,因此操作 2+True 實際上計算為 3 :
2 + True
3另一方麵,"6"+False 拋出錯誤:
6 + "False"
TypeError: unsupported operand type(s) for +: 'int' and 'str'None
默認情況下, numeric_only=None ,這意味著混合類型的行/列也會被考慮:
df.mean(numeric_only=None)
A    4.5
B    1.5
dtype: float64在這裏,請注意如何計算列的平均值B,但不適合C。通過傳入None,無法計算平均值的行/列(由於類型求和無效)將簡單地為忽略而不引發錯誤.
False
通過設置 numeric_only=False ,將再次考慮混合類型的行/列,但當無法計算平均值時會拋出錯誤:
df.mean(numeric_only=False)
TypeError: can only concatenate str (not "bool") to str在這裏,我們最終得到一個錯誤,因為 C 列包含混合類型,其中未定義 + 操作。
True
通過設置 numeric_only=True ,僅考慮數字行/列:
df.mean(numeric_only=True)
A 4.5
dtype: float64請注意B 和C 列如何被忽略,因為它們包含混合類型。
相關用法
- Python Pandas DataFrame memory_usage方法用法及代碼示例
- 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 | mean method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
