用Python分析全国高等教育分布情况,这个地方绝对排第一!

前段时间很多学子们都迈入了自己理想中的大学。只是当我们站在象牙塔前,再回首凝望高中生活,一路走来,是不是会感慨万千呢。都说高考是普通大众改变命运的最好的阶梯,那么大学就是培养能力,形成品格的试验田,而通向这块田地的之路却并不平坦。尤其是一些高考大省的小伙伴儿们,是经历了怎样的拼搏,才一路拼杀过来的呢。

这里就涉及到了各个省份的招生标准和各省的高校资源情况了,毕竟每个省的高校,在本省的招生数量既多,要求又低(差不多是这样…)。

都说高考其实是相对公平的选拔,那么今天我们就用数据来说话,看看全国的教育资源,高校分布到底是怎样,哪里的小伙伴相对来说,更容易踏入大学的校门呢。

数据获取

这里我选择的是“高考网”作为我数据的来源

http://college.gaokao.com/schlist/p1

网站很简单,也没有任何的反爬机制,直接分析页面,获取并保存数据就可以了
这里直接给出代码,不关心数据获取过程的小伙伴儿可以跳过此部分

 

import requests
from bs4 import BeautifulSoup
import os
import time


def get_data():
    for i in range(1, 108):
        print("正在下载第%s页数据" % i)
        url = 'http://college.gaokao.com/schlist/p%s' % i
        res = requests.get(url).text
        content = BeautifulSoup(res, "html.parser")
        college_list = content.find('div', attrs={'class': 'scores_List'}).find_all('dl')
        items = map(parse_item, college_list)
        save_to_csv(items)
        time.sleep(1)


def parse_item(item):
    college_name = item.find('strong')['title']
    college_attr = item.find_all('li')
    college_site = college_attr[0].text[6:]
    college_title = college_attr[1].text[5:]
    college_type = college_attr[2].text[5:]
    college_belong = college_attr[3].text[5:]
    college_nature = college_attr[4].text[5:]
    college_website = college_attr[5].text[5:]
    result = {
        'college_name': college_name,
        'college_site':

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现该数学建模案例,我们需要安装一些必要的Python库,包括: - pandas:用于数据处理和分析; - numpy:用于科学计算和数值分析; - matplotlib:用于绘制图表。 可以通过以下命令安装这些库: ``` pip install pandas numpy matplotlib ``` 接下来,让我们开始实现该案例。 首先,我们需要导入必要的库: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt ``` 然后,我们需要读取数据集并进行数据预处理。数据集可以从教材附带的光盘中获取,也可以从网上下载。本例中,我们假设数据集存储在名为“data.csv”的文件中。数据集包含了我国各省份的普通高等教育发展指标,包括高校数量、在校生数、毕业生数、师资力量、科研经费等。 ```python # 读取数据集 data = pd.read_csv('data.csv', encoding='gbk') # 数据预处理 data = data.drop(['地区'], axis=1) # 删除地区列 data = data.fillna(0) # 将缺失值填充为0 data = (data - data.mean()) / data.std() # 数据标准化 ``` 接下来,我们可以使用KMeans算法对数据进行聚类。KMeans算法是一种常见的聚类算法,它将数据集分为K个簇,使得每个簇内的数据点相似度最大,簇间的相似度最小。 ```python # 使用KMeans算法进行聚类 from sklearn.cluster import KMeans k = 3 # 设置簇的数量 kmeans = KMeans(n_clusters=k, random_state=0).fit(data) # 训练KMeans模型 labels = kmeans.labels_ # 获取每个数据点所属的簇编号 centers = kmeans.cluster_centers_ # 获取每个簇的中心点 ``` 最后,我们可以绘制散点图来展示聚类结果。 ```python # 绘制散点图 plt.scatter(data.iloc[:, 0], data.iloc[:, 1], c=labels) plt.scatter(centers[:, 0], centers[:, 1], marker='x', s=200, linewidths=3, color='r') plt.xlabel('指标1') plt.ylabel('指标2') plt.show() ``` 完整代码如下: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt # 读取数据集 data = pd.read_csv('data.csv', encoding='gbk') # 数据预处理 data = data.drop(['地区'], axis=1) # 删除地区列 data = data.fillna(0) # 将缺失值填充为0 data = (data - data.mean()) / data.std() # 数据标准化 # 使用KMeans算法进行聚类 from sklearn.cluster import KMeans k = 3 # 设置簇的数量 kmeans = KMeans(n_clusters=k, random_state=0).fit(data) # 训练KMeans模型 labels = kmeans.labels_ # 获取每个数据点所属的簇编号 centers = kmeans.cluster_centers_ # 获取每个簇的中心点 # 绘制散点图 plt.scatter(data.iloc[:, 0], data.iloc[:, 1], c=labels) plt.scatter(centers[:, 0], centers[:, 1], marker='x', s=200, linewidths=3, color='r') plt.xlabel('指标1') plt.ylabel('指标2') plt.show() ``` 运行该代码,即可得到聚类结果的散点图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值