已知有如图样例的学生成绩单,那么我们可以通过python-pandas对这些数据进行分析,如何用pandas实现频率分布呢?
元数据
导入Excel文件
data = pd.read_excel("e:/csdn/csdn_cut.xlsx",index_col=0)
一、频率分布-查看班级人数
data['班级'].value_counts().sort_index()
二、频率分布-自定义频率区间看成绩分布
list_bin = [60,70,80,90,100]
data = pd.cut(data['成绩'],list_bin)
print(data.value_counts().sort_index())
三,绘制频率分布直方图
import matplotlib.pyplot as plt
list_bin = [60,70,80,90,100]
#这里要设置字体,不然不支持中文
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.title("成绩分布直方图")
plt.hist(data['成绩'],bins=list_bin)
plt.show()