看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编程题)给定某班级学生的考试成绩数据:
import pandas as pd
import numpy as np
data = {
'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十'],
'数学': [85, 92, 78, 90, 88, 82, 95, 76],
'语文': [78, 85, 92, 88, 76, 90, 82, 95],
'英语': [90, 88, 76, 85, 92, 78, 95, 82],
'物理': [82, 95, 78, 90, 76, 88, 85, 92],
'化学': [88, 76, 95, 82, 90, 85, 78, 92]
}
df = pd.DataFrame(data)
print(df)
请完成以下分位数计算任务:
df.quantile(0.5, numeric_only=True)
结果:
数学 86.5
语文 86.5
英语 86.5
物理 86.5
化学 86.5
Name: 0.5, dtype: float64
df['数学'].quantile([0.25, 0.5, 0.75])
结果:
0.25 81.25
0.50 86.50
0.75 89.50
Name: 数学, dtype: float64
df['英语'].quantile(0.9)
结果:
93.1
df.quantile(np.arange(0.1, 1.0, 0.1), numeric_only=True)
quantiles = df.iloc[:, 1:].quantile(0.75)
top_students = df[(df.iloc[:, 1:] > quantiles).all(axis=1)]['姓名']
print(top_students.tolist())
结果:
['李四', '赵六', '周九']
df['物理'].quantile(np.arange(0, 1.01, 0.25))
结果:
0.00 76.0
0.25 80.5
0.50 86.5
0.75 90.5
1.00 95.0
Name: 物理, dtype: float64
解释:这组数据表示:
quantile()
函数的基本用法(完)
更新时间:2025-08-13 10:32:12 标签:pandas python 分位数