Python DataFrame.median():求中文数(附带实例)
中位数又称中值,是统计学专有名词,是指按顺序排列的一组数据中位于中间位置的数,其不受异常值的影响。
例如,对于 23、45、35、25、22、34、28 这 7 个数,中位数就是排序后位于中间的数字,即 28,而对于 23、45、35、25、22、34、28、27 这 8 个数,中位数则是排序后中间两个数的均值,即 27.5。
在 Python 中,调用 DataFrame 对象的 median() 方法就可以轻松实现求中位数的运算,语法格式如下:
【实例 1】计算学生各科成绩的中位数。下面给出一组数据(3 条记录),然后使用 median() 方法计算语文、数学和英语各科成绩的中位数,程序代码如下:
【实例 2】下面再给出一组数据(4 条记录),同样使用 median() 方法计算语文、数学和英语各科成绩的中位数,主要代码如下:
例如,对于 23、45、35、25、22、34、28 这 7 个数,中位数就是排序后位于中间的数字,即 28,而对于 23、45、35、25、22、34、28、27 这 8 个数,中位数则是排序后中间两个数的均值,即 27.5。
在 Python 中,调用 DataFrame 对象的 median() 方法就可以轻松实现求中位数的运算,语法格式如下:
DataFrame.median(axis=0, skipna=True, numeric_only=False, **kwargs)参数说明:
- axis:axis=0 表示逐行计算,axis=1 表示逐列计算,默认值为 0;
- skipna:布尔型,指明计算结果是否排除 NaN/Null 值,默认值为 True;
- numeric_only:布尔型,指明是否仅为数字,默认值为 False;
- **kwargs:要传递给函数的附加关键字参数;
- 返回值:返回 Series 或 DataFrame 对象。
【实例 1】计算学生各科成绩的中位数。下面给出一组数据(3 条记录),然后使用 median() 方法计算语文、数学和英语各科成绩的中位数,程序代码如下:
# 导入pandas模块 import pandas as pd # 解决数据输出时列名不对齐的问题 pd.set_option('display.unicode.east_asian_width', True) # 创建列表 data = [[110, 120, 110], [130, 130, 130], [130, 120, 130]] columns = ['语文', '数学', '英语'] # 创建数据(3条记录) df = pd.DataFrame(data=data, columns=columns) print(df) # 计算中位数 print(df.median())运行程序,结果如下:
语文 130.0
数学 120.0
英语 130.0
【实例 2】下面再给出一组数据(4 条记录),同样使用 median() 方法计算语文、数学和英语各科成绩的中位数,主要代码如下:
# 创建数据(4条记录) data = [[110, 120, 110], [130, 130, 130], [130, 120, 130], [113, 123, 101]] df = pd.DataFrame(data=data, columns=columns) print(df) # 计算中位数 print(df.median())运行程序,结果如下:
语文 121.5
数学 121.5
英语 120.0