环境声明:

如果没有的预先:【pip install *******】

【ALT】+【回车】

import csv
import numpy as np
import matplotlib.pyplot as plt

呈现效果:

GetRandomInfo.py:

import randomdef getClassName():randomClass = ("天字一号", "地字一号", "玄字一号", "黄字一号", "东宫正品")return randomClass[int(random.random() * len(randomClass))]def getName():"""随机姓名"""randomNames = ("华", "韦", "覃", "琴", "湘", "", "钱", "彭", "邓" "张", "王", "里", "赵", "赵", "李", "春", "梦", "星", "二", "宿", "管", "土", "生","风", "胡")return str.format("{0}{1}{2}", randomNames[int(random.random() * len(randomNames))],randomNames[int(random.random() * len(randomNames))],randomNames[int(random.random() * len(randomNames))])def getSex():"""随机性别"""sex = ("男", "男", "女")return sex[int(random.random() * 3)]def getSubJectName():"""随机科目"""randomClass = ("java", "python", "C#", "php", "go")return randomClass[int(random.random() * len(randomClass))]def getResults():"""随机成绩"""ra = random.randint(0, 10)if ra == 1:return int(random.random() * 21)+80return int(random.random() * 21)+70def GetRandomInfo():"""获取500条随机信息"""data = []for index in range(1, 501):strInfo = str.format("{0} {1} {2} {3} {4} {5}", index, getClassName(), getName(), getSex(), getSubJectName(),getResults())data.append(strInfo.split(","))return data

WriteInfo.py

import csv
import GetRandomInfo# 文件获取
file = open('info.csv', 'w+', encoding="utf-8")
# 写入操作
writer = csv.writer(file)# 写入多行记录
writer.writerows(GetRandomInfo.GetRandomInfo())
# 刷新文件
file.flush()
# 关闭文件流
file.close()

ReadInfo.py

import csv
import numpy as np
import matplotlib.pyplot as plt# 文件获取
file = open('info.csv', 'r', encoding="utf-8")
# 内容读取
list1 = csv.reader(file)
# 记录每科成绩
boyJavaCount = 0
boyJavaResult = 0
girlJavaCount = 0
girlJavaResult = 0
boyPythonCount = 0
boyPythonResult = 0
girlPythonCount = 0
girlPythonResult = 0
boyC_Count = 0
boyC_Result = 0
girlC_Count = 0
girlC_Result = 0
boyPHPCount = 0
boyPHPResult = 0
girlPHPCount = 0
girlPHPResult = 0
boyGoCount = 0
boyGoResult = 0
girlGoCount = 0
girlGoResult = 0# 信息遍历
for line in list1:if len(line) != 0:for row in line:arr = row.split(" ")if arr[3] == "男":if arr[4] == "java":boyJavaCount += 1boyJavaResult += int(arr[5])elif arr[4] == "python":boyPythonCount += 1boyPythonResult += int(arr[5])elif arr[4] == "C#":boyC_Count += 1boyC_Result += int(arr[5])elif arr[4] == "php":boyPHPCount += 1boyPHPResult += int(arr[5])elif arr[4] == "go":boyGoCount += 1boyGoResult += int(arr[5])else:if arr[4] == "java":girlJavaCount += 1girlJavaResult += int(arr[5])elif arr[4] == "python":girlPythonCount += 1girlPythonResult += int(arr[5])elif arr[4] == "C#":girlC_Count += 1girlC_Result += int(arr[5])elif arr[4] == "php":girlPHPCount += 1girlPHPResult += int(arr[5])elif arr[4] == "go":girlGoCount += 1girlGoResult += int(arr[5])
# 绘图
# 用于累计宽度坐标
x1 = np.arange(5)
# X轴信息
x = ['Java', 'Python', 'C#', 'PHP', 'Go']
# 男孩各科目平均值信息
boy = [boyJavaResult / boyJavaCount,boyPythonResult / boyPythonCount,boyC_Result / boyC_Count,boyPHPResult / boyPHPCount,boyGoResult / boyGoCount]
# 女孩各科目平均值信息
girl = [girlJavaResult / girlJavaCount,girlPythonResult / girlPythonCount,girlC_Result / girlC_Count,girlPHPResult / girlPHPCount,girlGoResult / girlGoCount]
# 宽度
bar_width = 0.25
# 写入男孩信息
plt.bar(x, boy, bar_width)
# 写入女孩信息
plt.bar(x1 + bar_width, girl, bar_width)
# 一些样式
plt.legend(labels=["boy", "girl"], loc="upper left")
# 标题
plt.title("results")
# 展示
plt.show()

好好复习,准备考试哦。

Python基础——数据分析考核(图形化版本)相关推荐

  1. Python基础笔记_Day14_Python图形化界面、Python GUI、tkinter、Python英汉词典

    Day14_Python图形化界面.Python GUI.tkinter.Python英汉词典 14.01_Python语言基础(Python实现英汉字典)(掌握) 14.02_Python语言基础( ...

  2. Python基础——数据分析考核(基础版本)

    数据生成文件: 类名:[GetRandomInfo.py] import randomdef getClassName():randomClass = ("天字一号", " ...

  3. python语言软件-mPython(图形化编程软件) V0.5.0 官方版

    mPython 是一款针对Python 3编程语言的图形化编辑工具.支持函数,仿真.hex.python.blockly三种代码读写等功能.并可以与TPYBoard系类开发板配合使用,直接连接PC端进 ...

  4. 七月在线python数据分析_七月在线Python基础+数据分析班+爬虫项目

    资源介绍 七月在线Python基础+数据分析班+爬虫项目 目录 ├─Python基础入门班2017年 ││代码.rar │└─视频 │xa0 xa0 01.第1课 入门基础.rar │xa0 xa0 ...

  5. python基础思维导图

    python基础思维导图

  6. Python基础-思维导图,欢迎自取

    Python基础-思维导图,欢迎自取 最近重温<Python学习手册第四版>,可以做了思维导图,大伙需要的可以直接拿图哈. 预告: 下一篇会是Python进阶&高级特性. 下下篇会 ...

  7. 关于主机的思维导图_计算机网络思维导图(零基础--思维导图详细版本及知识点)...

    计算机网络思维导图(零基础--思维导图详细版本及知识点)_gl620321的博客-CSDN博客​blog.csdn.net第一章 计算机网络概述 1.计算机网络向用户提供的最重要的功能分别是(连通性) ...

  8. 计算机操作系统思维导图_计算机网络思维导图(零基础--思维导图详细版本及知识点)...

    计算机网络思维导图(零基础--思维导图详细版本及知识点)_gl620321的博客-CSDN博客​blog.csdn.net 第一章 计算机网络概述 1.计算机网络向用户提供的最重要的功能分别是(连通性 ...

  9. 用python画蝴蝶_图形化编程经验分享,画笔基础,软件包括Python、Kittenblock

    跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关键的问题在于,带入感,我能给出的建议,就是咬咬牙,坚持住,没有学不会的知 ...

最新文章

  1. Android应用程序组件Content Provider的启动过程源代码分析(6)
  2. 分享几个matlab的下载安装包吧,一周有效期,过期不候
  3. 【NOIP2015模拟10.22】最大子矩阵
  4. 太神奇!2张关键帧,AI生成完整运动过程!
  5. Web服务器处理连接请求的四种架构方式
  6. 超给力,抛弃手动维护,一键生成数据库文档、支持多种格式!
  7. Redis cluster不能发布在与 springboot 相同的物理磁盘上,否则找不到集群。
  8. 变量的三重属性_TypeScript基础入门 - 变量声明(三)
  9. 1145: 零起点学算法52——数组中删数II
  10. forEach for 循环
  11. Qt总结之十七:QByteArray类型里含中文的数据解析出现乱码
  12. 分布式事务解决方案之最大努力通知
  13. Visio2013激活/破解
  14. 计算机找不到链接打印机主机,添加打印机找不到任何端口,怎么办
  15. hive两拼接字段对比,涉及到的拼接字段拼接顺序问题
  16. 小学生心算CAI系统
  17. 分享 | 物体检测和数据集
  18. 叮咚买菜2021第四季度财报数据公布:上海地区实现盈利
  19. java 使用subList痛彻心扉的领悟
  20. 阿里云获取域名和SSL证书

热门文章

  1. 郁金香汇编代码注入怎么写看雪_雷军1994年写的诗一样的代码,我把它运行起来了!...
  2. c java python html_如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处
  3. 二叉搜索树介绍及其接口说明
  4. (MariaDB/MySQL)之DML(2):数据更新、删除
  5. 共享锁+行锁防止其他事务对指定行同时更新
  6. 8_18 比赛总结 [暑假集训]
  7. 关于linux内核无法编译成模块的解决方法
  8. Apache构建web主机、日志分割及AWStats分析系统
  9. 打包python程序发布_Python代码的打包与发布详解
  10. js 递归查询所有的叶子结点_json树递归js查询json父子节点