pandas quantile

在数据分析中,quantile 是一个重要的统计量,用于衡量数据的分布情况。在 Pandas 中,我们可以使用 quantile() 方法来计算指定分位数的值。这个方法非常实用,可以帮助我们更好地了解数据的整体分布,并进行数据的切分与分析。
1. quantile 方法的基本语法
quantile() 方法的基本语法如下:
DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')
参数说明:
q:要计算的分位数,可以是单个值,也可以是一组值(列表形式)。axis:沿着特定的轴进行计算,默认为 0。numeric_only:是否仅计算数值类型的列,默认为 True。interpolation:指定插值方法,可选参数有 ‘linear’、’lower’、’higher’、’midpoint’、’nearest’。默认为 ‘linear’。
2. 示例数据集
为了更好地演示 quantile() 方法的使用,我们以一个示例数据集为例进行说明。假设我们有一份包含学生考试成绩的数据集,其中包含了学生的姓名、数学成绩和语文成绩。我们首先加载这份数据集,并进行简单的预览:
import pandas as pd
data = {'姓名': ['小明', '小红', '小刚', '小美', '小云'],
'数学成绩': [90, 85, 88, 92, 89],
'语文成绩': [87, 82, 85, 90, 88]}
df = pd.DataFrame(data)
print(df)
输出如下:
姓名 数学成绩 语文成绩
0 小明 90 87
1 小红 85 82
2 小刚 88 85
3 小美 92 90
4 小云 89 88
3. 计算分位数
接下来,我们通过 quantile() 方法来计算数学成绩的中位数、上四分位数和下四分位数:
# 计算数学成绩的中位数
median = df['数学成绩'].quantile(0.5)
print(f"数学成绩的中位数:{median}")
# 计算数学成绩的上四分位数
upper_quantile = df['数学成绩'].quantile(0.75)
print(f"数学成绩的上四分位数:{upper_quantile}")
# 计算数学成绩的下四分位数
lower_quantile = df['数学成绩'].quantile(0.25)
print(f"数学成绩的下四分位数:{lower_quantile}")
运行结果如下:
数学成绩的中位数:89.0
数学成绩的上四分位数:90.0
数学成绩的下四分位数:88.0
4. 多个分位数的计算
除了单个分位数外,quantile() 方法还支持同时计算多个分位数。例如,我们希望计算数学和语文成绩的 25%、50% 和 75% 分位数,可以使用如下方法:
# 计算数学和语文成绩的 25%、50% 和 75% 分位数
percentiles = [0.25, 0.5, 0.75]
result = df[['数学成绩', '语文成绩']].quantile(percentiles)
print(result)
运行结果如下:
数学成绩 语文成绩
0.25 88.0 85.0
0.50 89.0 88.0
0.75 90.0 90.0
5. 插值方法
在计算分位数时,我们还可以使用不同的插值方法。以计算语文成绩的中位数为例,我们可以尝试不同的插值方法,并观察不同结果:
# 使用不同的插值方法计算语文成绩的中位数
print(f"中位数(linear):{df['语文成绩'].quantile(0.5, interpolation='linear')}")
print(f"中位数(lower):{df['语文成绩'].quantile(0.5, interpolation='lower')}")
print(f"中位数(higher):{df['语文成绩'].quantile(0.5, interpolation='higher')}")
print(f"中位数(midpoint):{df['语文成绩'].quantile(0.5, interpolation='midpoint')}")
print(f"中位数(nearest):{df['语文成绩'].quantile(0.5, interpolation='nearest')}")
运行结果如下:
中位数(linear):88.0
中位数(lower):87.0
中位数(higher):90.0
中位数(midpoint):88.5
中位数(nearest):87.0
6. 总结
通过本文的介绍,我们了解了 Pandas 中 quantile() 方法的基本用法和相关参数。该方法可以帮助我们在数据分析中更好地理解数据的分布情况,并且方便我们对数据进行分位数分析。在实际应用中,我们可以根据具体需求,灵活运用这个方法,以便更好地理解和分析数据。
极客教程