Pandas DataFrame DataFrame.mean() 函数
Suraj Joshi
2023年1月30日
2020年6月17日
-
pandas.DataFrame.mean()
语法 -
示例代码:
DataFrame.mean()
方法沿列轴寻找平均值 -
示例代码:
DataFrame.mean()
方法沿行轴寻找平均值 -
示例代码:
DataFrame.mean()
方法忽略NaN
值来寻找平均值
Python Pandas DataFrame.mean()
函数计算 DataFrame 对象在指定轴上的值的平均值。
pandas.DataFrame.mean()
语法
DataFrame.mean( axis=None,
skipna=None,
level=None,
numeric_only=None,
**kwargs)
参数
axis |
沿行(axis=0 )或列(axis=1 )求平均数 |
skipna |
布尔型。排除 NaN 值(skipna=True )或包含 NaN 值(skipna=False ) |
level |
如果轴为 MultiIndex ,则沿特定级别计数 |
numeric_only |
布尔型。对于 numeric_only=True ,只包括 float 、int 和 boolean 列 |
**kwargs |
函数的附加关键字参数 |
返回值
如果没有指定 level
,则返回请求轴的平均值的 Series
,否则返回平均值的 DataFrame
。
示例代码:DataFrame.mean()
方法沿列轴寻找平均值
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 2, 3],
'Y': [4, 3, 8, 4]})
print("DataFrame:")
print(df)
means=df.mean()
print("Means of Each Column:")
print(means)
输出:
DataFrame:
X Y
0 1 4
1 2 3
2 2 8
3 3 4
Means of Each Column:
X 2.00
Y 4.75
dtype: float64
计算 X
和 Y
两列的平均数,最后返回一个包含每列平均数的 Series
对象。
在 Pandas 中,如果要找到 DataFrame 中某一列的平均数,我们只调用该列的 mean()
函数。
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 2, 3],
'Y': [4, 3, 8, 4]})
print("DataFrame:")
print(df)
means=df["X"].mean()
print("Mean of Column X:")
print(means)
输出:
DataFrame:
X Y
0 1 4
1 2 3
2 2 8
3 3 4
Mean of Column X:
2.0
它只给出 DataFrame
中 X
列数值的平均值。
示例代码: DataFrame.mean()
方法沿行轴寻找平均值
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 2, 3],
'Y': [4, 3, 8, 4]})
print("DataFrame:")
print(df)
means=df.mean(axis=1)
print("Mean of Rows:")
print(means)
输出:
DataFrame:
X Y
0 1 4
1 2 3
2 2 8
3 3 4
Mean of Rows:
0 2.5
1 2.5
2 5.0
3 3.5
dtype: float64
它计算所有行的平均值,最后返回一个包含每行平均值的 Series
对象。
在 Pandas 中,如果要找到 DataFrame
中某一行的均值,我们只调用 mean()
函数来计算这一行的均值。
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 2, 3],
'Y': [4, 3, 8, 4]})
print("DataFrame:")
print(df)
mean=df.iloc[[0]].mean(axis=1)
print("Mean of 1st Row:")
print(mean)
输出:
DataFrame:
X Y
0 1 4
1 2 3
2 2 8
3 3 4
Mean of 1st Row:
0 2.5
dtype: float64
它只给出 DataFrame
中第一行数值的平均值。
我们使用 iloc
方法根据索引选择行。
示例代码:DataFrame.mean()
方法忽略 NaN
值来寻找平均值
我们使用 skipna
参数的默认值,即 skipna=True
来寻找 DataFrame
沿指定轴的平均值,忽略 NaN
值。
import pandas as pd
df = pd.DataFrame({'X': [1, 2, None, 3],
'Y': [4, 3, None, 4]})
print("DataFrame:")
print(df)
means=df.mean(skipna=True)
print("Mean of Columns")
print(means)
输出:
DataFrame:
X Y
0 1.0 4.0
1 2.0 3.0
2 NaN NaN
3 3.0 4.0
Mean of Columns
X 2.000000
Y 3.666667
dtype: float64
如果我们设置 skipna=True
,它将忽略 DataFrame 中的 NaN
。它允许我们沿列轴计算 DataFrame
的平均值,忽略 NaN
值。
import pandas as pd
df = pd.DataFrame({'X': [1, 2, None, 3],
'Y': [4, 3, 3, 4]})
print("DataFrame:")
print(df)
means=df.mean(skipna=False)
print("Mean of Columns")
print(means)
输出:
DataFrame:
X Y
0 1.0 4
1 2.0 3
2 NaN 3
3 3.0 4
Mean of Columns
X NaN
Y 3.5
dtype: float64
在这里,我们得到了列 X
的平均值的 NaN
值,因为列 X
中存在 NaN
值。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn