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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
