Python数据分析与处理(一)--北京高考分数线统计分析
前言:
为了帮助广大考生和家长了解高考历年的录取情况,很多网站都汇总了各省市的录取控制分数线,为广大考生填报志愿提供参考。因受多种因素影响,每年的分数线或多或少会有一些变动。采集北京2006-2019年的信息。使用Python的Pandas库完成以下数据分析。
1.1 数据爬取
包含三部分内容:从哪里爬取,如何爬取,爬取的结果
代码:
import pandas as pd
import numpy as np
data=pd.read_excel("scores.xlsx",header=1)
print(data)
运行结果:
分析:我是读取的本地的数据文件进行的数据分析。
有兴趣的话可以从网站上面下载相关的数据或者是自己使用爬虫爬取相关的数据源。进行数据分析
这个数据的分析部分我主要是采用的是Pandas numpy
做数据的预处理。
和matplotlib
进行数据的可视化展示。
1.2 最高分最低分统计
mindata= data.groupby(['文科','理科'], as_index=False).min(axis=1)
maxdata= data.groupby(['文科','理科'], as_index=False).max(axis=2)
print(data.min())
print(data.max())
进行数据的处理,最高分最低分统计,因为有两个不同的年份的成绩,并且分了文科和理科所以就有2个文科2个理科
- 我们使用
groupby
按照文理科进行分组 - 然后使用
max()
和min()
求最大值和最小值‘ - 经过分析处理可以看到打印出来的最大值和最小值
1.3 一本二本理科差值统计
代码:
s1math=data["一本分数线","理科"]
print(s1math)
print(s1math[0]-s1math[2])
s1c=data["一本分数线","文科"]
print(s1c[0]-s1c[2])
s2math=data["二本分数线","理科"]
print(s2math[0]-s2math[2])
s2c=data["二本分数线","文科"]
print(s2math[0]-s2math[2])
运行结果:
注意:
首先我们取出相应的文理科一本以及二本的成绩,然后再进行相关的极差的计算就是使用前一个数减去后面的一个数就OK。
print(s1math[0]-s1math[2])
1.4 2006—2019年近14年每科分数线的平均值统计
代码:
# 2006—2019年近14年每科分数线的平均值统计
data1=data[data['Unnamed: 0'].between(2006, 2014, inclusive=True)].groupby(['Unnamed: 0']).mean()
print(data1)
运行结果:
首先是进行数据的提取,然后进行平均值的求取。在这里我算的麻烦了,因为本来就是一个年份对应的是一个成绩。不是一对多的关系,所以下面的方法要更好一些。
也可以使用mean
方法进行相关的平均值求取。
是一个成绩。不是一对多的关系,所以下面的方法要更好一些。
也可以使用mean
方法进行相关的平均值求取。
到此这篇关于Python数据分析与处理北京高考分数线统计分析的文章就介绍到这了,更多相关Python数据分析与处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341