看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
的 mean()
方法用于计算沿指定轴的平均值。这个方法可以应用于 Series
和 DataFrame
对象,并且会忽略缺失值(NaN)。让我们从基础讲起。
DataFrame.mean(
axis=0,
skipna=True,
numeric_only=None,
**kwargs
)
axis
: {0 or ‘index’, 1 or ‘columns’}, 默认值 0
0
或 'index'
表示沿着列(即每列的平均值),1
或 'columns'
表示沿着行(即每行的平均值)。axis=None
将在两个轴上应用聚合skipna
: bool, 默认值 True
False
并且有缺失值,结果将为 NaN。numeric_only
: bool, 默认值 None
True
,则只计算数值类型的数据。对于非数值类型的列,将被忽略。如果为 False
,将尝试计算所有类型的数据(可能会抛出异常)。****kwargs
**: 其他传递给底层方法的关键字参数。
返回一个 Series
或者 DataFrame
对象,具体取决于输入的数据结构以及计算的方向。
s = pd.Series([1, 2, 3])
s.mean()
# 2.0
DataFrame:
df = pd.DataFrame({'a': [1, 2], 'b': [2, 3]}, index=['tiger', 'zebra'])
df
'''
a b
tiger 1 2
zebra 2 3
'''
df.mean()
'''
a 1.5
b 2.5
dtype: float64
'''
用 axis=1
df.mean(axis=1)
'''
tiger 1.5
zebra 2.5
dtype: float64
'''
在这种情况下,应将numeric_only设置为True以避免出错。
df = pd.DataFrame({'a': [1, 2], 'b': ['T', 'Z']},
index=['tiger', 'zebra'])
df.mean(numeric_only=True)
'''
a 1.5
dtype: float64
'''
让我们先构造一个简单的 DataFrame
并计算列的平均值。
import pandas as pd
# 构造示例数据
data = {
'A': [1, 2, 3, 4],
'B': [4, 5, 6, None],
'C': [7, 8, None, 10]
}
df = pd.DataFrame(data)
# 输出示例数据
print("示例数据:")
print(df)
# 计算各列的平均值
mean_values = df.mean(axis=0)
# 输出结果
print("\n各列的平均值:")
print(mean_values)
输出:
示例数据:
A B C
0 1.0 4.0 7.0
1 2.0 5.0 8.0
2 3.0 6.0 NaN
3 4.0 NaN 10.0
各列的平均值:
A 2.5
B 5.0
C 8.333333
dtype: float64
可以设置 skipna=False
来不忽略缺失值,或者使用 axis=1
按行计算平均值。
# 计算各行的平均值
mean_values_rows = df.mean(axis=1)
# 不忽略缺失值计算列平均值
mean_values_no_skipna = df.mean(axis=0, skipna=False)
# 输出结果
print("\n各行的平均值:")
print(mean_values_rows)
print("\n不忽略缺失值的各列平均值:")
print(mean_values_no_skipna)
输出:
各行的平均值:
0 4.0
1 5.0
2 4.5
3 7.0
dtype: float64
不忽略缺失值的各列平均值:
A 2.5
B 5.0
C NaN
dtype: float64
mean()
方法非常实用,尤其是在数据分析和处理过程中,可以轻松计算各列或各行的平均值,并且灵活处理缺失值。通过设置不同的参数,可以根据具体需求获取所需的结果。
更新时间:2024-08-08 16:33:04 标签:pandas python mean 平均值