首页 > 编程笔记 > Python笔记 阅读:15

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() 方法就可以轻松实现求中位数的运算,语法格式如下:
DataFrame.median(axis=0, skipna=True, numeric_only=False, **kwargs)
参数说明:
【实例 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

相关文章