关于Pandas版本: 本文基于 pandas2.2.0 编写。
关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。
传送门: Pandas API参考目录
传送门: Pandas 版本更新及新特性
传送门: Pandas 由浅入深系列教程
本节目录
- Pandas.Series.median()
- 计算公式:
- 语法:
- 返回值:
- 参数说明:
- axis 指定计算方向(行或列)
- skipna 忽略缺失值
- numeric_only 只计算数字类型的行或列
- **kwargs
- 相关方法:
- 示例:
- 例1:如果是 `Series` 始终保持 `axis=1`,会报错!
- 例2:如果不忽略缺失值,会影响计算结果,导致只返回 NaN
- 例3:如果 `Series` 都是缺失值,并且 `skipna=False` 只会返回缺失值
Pandas.Series.median()
Pandas.Series.median
方法用于返回 Series
所有元素的中位数。
计算公式:
- 对于奇数个数据:
中位数是排序后位于中间位置的数。 Med = 中间位置的数 \text{Med} = {中间位置的数} Med=中间位置的数 - 对于偶数个数据:
中位数是排序后中间两个数的平均值。 Med = 中间两个数之和 2 \text{Med} = \frac{\text{中间两个数之和}}{2} Med=2中间两个数之和。。
语法:
Series.median(axis=0, skipna=True, numeric_only=False, **kwargs)
返回值:
- Series or scalar
参数说明:
axis 指定计算方向(行或列)
-
axis : {index (0), columns (1, None)
axis
参数,用于指定计算方向,即按行计算或按列计算中位数:- 对于
Series
此参数无效,将始终保持axis=0
,即计算整列的中位数。axis=1
则会报错ValueError
例1
✅ 新增于 Pandas 2.0.0 :
axis
参数,新增于Pandas 2.0.0 版本。 - 对于
skipna 忽略缺失值
-
skipna : bool, default True >
skipna
参数,用于指定求中位数的时候是否忽略缺失值 ,默认skipna=True
,即忽略缺失值:- True: 忽略缺失值(默认)。
- False: 不忽略缺失值, 但是如果存在缺失值,会影响计算结果,导致返回
NaN
。 例2⚠️ 注意 :
- 如果
skipna=False
,当Series
只有缺失值,计算结果也将是缺失值。 例3
- 如果
numeric_only 只计算数字类型的行或列
-
numeric_only : bool, default False
numeric_only
参数,用于控制是否 只计算数值类型浮点数(float),整数(int),布尔值(boolean)的行或列:- 对于
Series
此参数无效。
- 对于
**kwargs
-
**kwargs :
用于保持和
numpy
兼容而保留的参数,一般不需要使用。
相关方法:
➡️ 相关方法
DataFrame.median
中位数
示例:
测试文件下载:
本文所涉及的测试文件,如有需要,可在文章顶部的绑定资源处下载。
若发现文件无法下载,应该是资源包有内容更新,正在审核,请稍后再试。或站内私信作者索要。
例1:如果是 Series
始终保持 axis=1
,会报错!
import numpy as np
import pandas as pd# 构建演示数据
s = pd.Series([21, 25, 62, 43])s.median(axis=1)
例2:如果不忽略缺失值,会影响计算结果,导致只返回 NaN
import numpy as np
import pandas as pds = pd.Series([1, 2, 3, np.NaN, 4])s.median(skipna=False)
nan
例3:如果 Series
都是缺失值,并且 skipna=False
只会返回缺失值
import numpy as np
import pandas as pds = pd.Series([np.NaN, np.NaN, np.NaN, np.NaN])s.median(skipna=False)
nan
由于age列全是缺失值,所以只会返回缺失值。