pandas速成笔记(5)-快速分析平均值、总和

上篇继续,记得小时候读书那会儿,还没有双减,每次考试完,大家最关心的就是全班的成绩分布,假如有下面一张成绩表:

pandas速成笔记(5)-快速分析平均值、总和

老师们通常很快就会算出『平均分、总分』这些关键指标,然后各班之间,就开始攀比:

pandas速成笔记(5)-快速分析平均值、总和

当然,这些在Excel里用SUM/AVERAGE函数,再结合自动填充很容易实现,pandas里要如何类似统计呢?

python;collapse:false;;gutter:true; import pandas as pd</p> <h1>注意:先不要设置索引(否则最后append时会有问题)</h1> <p>score = pd.read_excel("./data/test.xlsx") print(score)</p> <h1>把各科分数列先取出来</h1> <p>temp = score[['语文', '数学', '科学', '英语']] print("\n--------各科分数--------") print(temp)</p> <h1>原表上,新增总分、平均分列,并按行统计</h1> <p>score["总分"] = temp.sum(axis=1) score["平均分"] = temp.mean(axis=1) print("\n--------每行添加[总分,平均分]--------") print(score)</p> <h1>按列计算平均分</h1> <p>col_avg = score[['语文', '数学', '科学', '英语', '总分', '平均分']].mean()</p> <h1>将得到的Serial追加到score表</h1> <p>score = score.append(col_avg, ignore_index=True) print("\n--------最终结果-------") print(score)

结果:

`bash;gutter:true;
学号 语文 数学 科学 英语
0 张三 85 90 88 92
1 李四 78 86 90 82
2 王五 95 96 89 80
3 赵六 70 75 99 67
4 杨七 95 93 84 91

学号 语文 数学 科学 英语 总分 平均分
0 张三 85 90 88 92 355 88.75
1 李四 78 86 90 82 336 84.00
2 王五 95 96 89 80 360 90.00
3 赵六 70 75 99 67 311 77.75
4 杨七 95 93 84 91 363 90.75

Original: https://www.cnblogs.com/yjmyzz/p/pandas_turorial_5.html
Author: 菩提树下的杨过
Title: pandas速成笔记(5)-快速分析平均值、总和

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8403/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部