当前位置:   article > 正文

复习pandas导入外部数据、切片,练习子图、图表元素设置(中国大学数据集)_pandas导入表格练习

pandas导入表格练习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、实验要求

二、相关文件

三、使用 Jupyter工具导入项目步骤

 四、实验内容

1.导入pandas numpy模块并读取文件 中国大学数据集.csv , 显示前topn行

 2. 绘制不同类型学校数量的散点图

 3.#绘制省份大学数量的统计直方图(hist)

 4.创建一个1x2 的子图, 第一个子图绘制公或民办不同办学性质学校数量的柱状图

 5.在1x2的子图上分别 绘制北京市和湖北省 公或民办 学校数量比例的饼图

五、总结


一、实验要求

本次实验主要目的如下:

  • 复习pandas导入外部数据、切片;
  • 练习子图、图表元素设置;
  • 结合实际案例数据联系多种图表的绘制;

本次实验使用的数据集为 中国大学数据集, 该数据集每条数据字段含义如下:


二、相关文件

链接:https://pan.baidu.com/s/1CeCEVQYwn5E0NK4JcJfjtQ 
提取码:kkdq

 

三、使用 Jupyter工具导入项目步骤

1.菜单栏中找到Anaconda Prompt (Anaconda3),点击运行


2.输入: cd 指定项目的文件夹路径


3.启动项目: Jupyter Notebook
4.复制倒数第一个链接到网页访问。

 四、实验内容

注:以下实验内容,如果是使用Jupyter工具编写,一定要从第一个开始运行到下一个,避免出现未定的的变量;如果使用其它的python编译器,一定要补充相应的模块和数据的定义。

1.导入pandas numpy模块并读取文件 中国大学数据集.csv , 显示前topn行

  1. # 导入pandas numpy模块并读取文件 中国大学数据集.csv , 显示前topn行
  2. # todo
  3. import pandas as pd
  4. import numpy as np
  5. import matplotlib.pyplot as plt
  6. whc_id = 629
  7. topn = whc_id % 43
  8. path='中国大学数据集.csv'
  9. data = pd.read_csv(path,sep=',')
  10. h=data.head(topn)
  11. print(h)

 2. 绘制不同类型学校数量的散点图

 要求: 横轴标签为省市、纵轴标签为大学数量。横轴的刻度要用省市名称

  1. # 绘制不同类型学校数量的散点图
  2. # 要求: 横轴标签为省市、纵轴标签为大学数量。横轴的刻度要用省市名称
  3. t_col=data['省份'].value_counts()
  4. #print(t_col.values)
  5. y=t_col.values
  6. x=[i for i in range(len(t_col))]
  7. label=list(t_col.index)
  8. #print(x)
  9. plt.rcParams['font.sans-serif']='SimHei'
  10. plt.scatter(x,y)
  11. plt.xlabel('省份')
  12. plt.ylabel('大学数量')
  13. plt.xticks(x,label,rotation=90)
  14. plt.title('各省份大学数量')
  15. plt.show()
  16. # 提示: 可以使用Series.value_counts()
  17. # 样例如下

 3.#绘制省份大学数量的统计直方图(hist

  1. # 绘制省份大学数量的统计直方图(hist)
  2. path='中国大学数据集.csv'
  3. data = pd.read_csv(path,sep=',')
  4. t_col=data['省份'].value_counts()
  5. y=t_col.values
  6. plt.figure(2)
  7. plt.hist(y)
  8. plt.ylabel('频数')
  9. plt.xlabel('省份大学数量')
  10. plt.title('省份大学数量的统计直方图')
  11. plt.show()

 4.创建一个1x2 的子图, 第一个子图绘制公或民办不同办学性质学校数量的柱状图

要求有图例,横轴刻度为对应字符串(公办、民办、中外合作办学)
# 第二个子图绘制本科专科学校数量的柱状图, 要求有图例, 横轴刻度为对应字符串(本科、专科)

  1. # 分值: 30
  2. # 创建一个1x2 的子图, 第一个子图绘制公或民办不同办学性质学校数量的柱状图,要求有图例,横轴刻度为对应字符串(公办、民办、中外合作办学)
  3. # 第二个子图绘制本科专科学校数量的柱状图, 要求有图例, 横轴刻度为对应字符串(本科、专科)
  4. import matplotlib.pyplot as plt
  5. import pandas as pd
  6. # 读取数据集
  7. data = pd.read_csv('中国大学数据集.csv', encoding='utf-8')
  8. # 统计不同类型学校数量
  9. type_counts = data['公或民办'].value_counts()
  10. type_names = type_counts.index.tolist()
  11. type_values = type_counts.values.tolist()
  12. # 创建第一个子图
  13. plt.subplot(1, 2, 1)
  14. plt.rcParams['font.sans-serif']='SimHei'
  15. plt.bar(type_names, type_values)
  16. plt.title('办学性质')
  17. plt.xlabel('办学性质')
  18. plt.ylabel('学校数量')
  19. plt.legend(['公办', '民办', '中外合作办学'])
  20. # 统计本科专科学校数量
  21. edu_counts = data['本或专科'].value_counts()
  22. edu_names = edu_counts.index.tolist()
  23. edu_values = edu_counts.values.tolist()
  24. # 创建第二个子图
  25. plt.subplot(1, 2, 2)
  26. plt.rcParams['font.sans-serif']='SimHei'
  27. plt.bar(edu_names, edu_values)
  28. plt.title('本专分布')
  29. plt.xlabel('学历类型')
  30. plt.ylabel('学校数量')
  31. plt.legend(['本科', '专科'])
  32. plt.show()

 5.在1x2的子图上分别 绘制北京市和湖北省 公或民办 学校数量比例的饼图

  1. # 分值: 20
  2. # 在1x2的子图上分别 绘制北京市和湖北省 公或民办 学校数量比例的饼图
  3. import matplotlib.pyplot as plt
  4. import pandas as pd
  5. # 读取数据集
  6. data = pd.read_csv('中国大学数据集.csv', encoding='utf-8')
  7. #print(df)
  8. # 按省份和办学性质进行过滤,得到北京市公、民办学校数量
  9. bj_public_count = len(data[(data['省份']=='北京') & (data['公或民办']=='公办')])
  10. bj_private_count = len(data[(data['省份']=='北京') & (data['公或民办']=='民办')])
  11. # 按省份和办学性质进行过滤,得到湖北省公、民办学校数量
  12. hb_public_count = len(data[(data['省份']=='湖北') & (data['公或民办']=='公办')])
  13. hb_private_count = len(data[(data['省份']=='湖北') & (data['公或民办']=='民办')])
  14. # 绘制饼图
  15. labels = ['公办', '民办']
  16. # 创建第一个子图
  17. plt.subplot(1, 2, 1)
  18. plt.pie([bj_public_count, bj_private_count], labels=labels, autopct='%1.2f%%')
  19. plt.title('北京市公或民办学校数量比例的饼图')
  20. # 创建第二个子图
  21. plt.subplot(1, 2, 2)
  22. plt.pie([hb_public_count, hb_private_count], labels=labels,autopct='%1.2f%%')
  23. plt.title('湖北省公或民办学校数量比例的饼图')
  24. plt.show()

 

 

五、总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了复习pandas导入外部数据、切片,练习子图、图表元素设置,结合实际案例数据联系多种图表的绘制。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/937848
推荐阅读
相关标签
  

闽ICP备14008679号