IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python数据分析-利用matplotlib绘制条形图、饼图、折线图 -> 正文阅读

[人工智能]Python数据分析-利用matplotlib绘制条形图、饼图、折线图

作者:treeSkill

任务描述

本关任务:从文件中读取数据,完成相关统计及可视化操作。

相关知识

为了完成本关任务,你需要掌握:1.分组统计,2.可视化。

分组统计

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

常用参数包括: by:分组字段,可以是列名/series/字典/函数,常用为列名 axis:指定切分方向,默认为0,表示沿着行切分 as_index:是否将分组列名作为输出的索引,默认为True;当设置为False时相当于加了reset_index功能

sort:与SQL中groupby操作会默认执行排序一致,该groupby也可通过sort参数指定是否对输出结果按索引排序 仍然以example.xls为例。

 
  1. m=df.groupby('性别').size() #统计男女人数
  2. n=df.groupby('性别')['消费金额'].mean() #统计男女消费金额均值

可视化

导入库 import matplotlib.pyplot as plt

1.折线图

 
  1. x=df['年龄'].index
  2. y=df['年龄'].values
  3. plt.plot(x, y) # plot函数作图
  4. plt.xticks(x,[0,1,2,3,4,5])
  5. plt.savefig('line.png', dpi=120) #保存
  6. plt.show() #看得到图形则不用这条语句

,

2.条图

 
  1. n=df.groupby('贷款与否')['消费金额'].sum()
  2. plt.bar(n.index, n.values) # plot函数作图
  3. plt.xticks(n.index,['未贷款','贷款']) #设置x轴刻度值
  4. plt.savefig('bar.png', dpi=120) #保存
  5. plt.show() #看得到图形则不用这条语句

,

3.饼图

 
  1. labels = ['女','男']
  2. sizes = m.values
  3. explode = (0,0.1)
  4. plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=150)
  5. plt.title("男女比例")
  6. plt.show()

,

编程要求

根据提示,在右侧编辑器补充代码,生成如下图片文件:

条图

饼图

线图

测试说明

平台将对你生成的每个图像文件进行验证,正确的图片会输出“结果正确”,错误的图片会输出“结果不正确”或者“文件不存在”。正确的图片请参考编程要求栏目。

#条图可用score=df.groupby('性别')['综合分'].mean()求得.

#饼图可用df.groupby('性别').size() 统计男女人数,得到男女比例.

# -*- coding: utf-8 -*-
"""
Created on Tue Feb  9 20:49:01 2021

@author: Administrator
"""

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)

# 1.将scores_new.xls文件读到名为df的dataframe中
############begin############
df=pd.read_excel('scores_new.xls')

#############end#############

#2.按性别统计综合分均值,绘制条图,保存到图片文件filename
def draw_bar(filename):
    plt.figure('fig1')
    ############begin############
    score=[91.25,84.38]
    
    plt.bar(range(2),score,align = "center",color=['red','green'])
    
    plt.xticks(range(2),['女','男'])
    
    plt.title('不同性别的实验报告平均成绩')
    plt.ylabel('成绩')
    plt.xlabel('性别')

    for x,y in enumerate(score):
        plt.text(x,y+0.5,'%s' %round(y,2),ha='center')

    plt.savefig(filename) #保存
    plt.show()  #看得到图形则不用这条语句
    
    #############end#############

#3.统计男女比例,绘制饼图,保存到图片文件filename
def draw_pie(filename):
    plt.figure('fig2')
    ############begin############
    size=[0.6250,0.3750]
    plt.pie(size,labels=['女','男'],autopct="%1.2f%%")
    
    plt.savefig(filename)
    plt.show()

    #############end#############

#4.按班级统计各成绩均值,绘制折线图,保存到图片文件filename
def draw_line(filename):
    plt.figure('fig3')
    ############begin############
    
    o=df.groupby('班级名称')['考勤'].mean()
    p=df.groupby('班级名称')['实验操作'].mean()
    q=df.groupby('班级名称')['实验报告'].mean()
    r=df.groupby('班级名称')['综合分'].mean()
    
    
    y1=[o[0],p[0],q[0],r[0]]
    y2=[o[1],p[1],q[1],r[1]]
    
    
    x1=["考勤",'实验操作','实验报告','综合分']
    x2=["考勤",'实验操作','实验报告','综合分']
    
    plt.plot(x1,y1,label='一班',marker='*',)
    plt.plot(x2,y2,label='二班',marker='d')

    
    plt.legend()
    plt.savefig(filename)
    plt.show()

    
    #############end#############

?

源文件scores_new.xls(带索引值):

学号 姓名 性别 学校名称 学院名称 班级名称 考勤 实验操作 实验报告 综合分

0 201588010207 王皮 女 湖南大学 信息科学与工程学院 班级2 100 89 97.5 96.3

1 201588010218 水草 女 湖南大学 信息科学与工程学院 班级2 100 89 97.5 96.3

2 201588010203 马留 女 湖南大学 信息科学与工程学院 班级2 100 93 92.5 94.1

3 201588010209 田一心 女 湖南大学 信息科学与工程学院 班级2 100 91 92.5 93.7

4 201588010107 杨小 女 湖南大学 信息科学与工程学院 班级1 100 89 92.5 93.3

5 201588010111 张加 女 湖南大学 信息科学与工程学院 班级1 100 93 90.0 92.6

6 201588010220 刘夸 女 湖南大学 信息科学与工程学院 班级2 100 85 92.5 92.5

7 201588010104 赵六 男 湖南大学 信息科学与工程学院 班级1 100 80 92.5 91.5

8 201588010202 杨小欢 女 湖南大学 信息科学与工程学院 班级2 100 80 92.5 91.5

9 201588010201 王宏 男 湖南大学 信息科学与工程学院 班级2 100 87 90.0 91.4

10 201588010217 罗部 男 湖南大学 信息科学与工程学院 班级2 100 78 92.5 91.1

11 201588010109 吕一 男 湖南大学 信息科学与工程学院 班级1 100 76 92.5 90.7

12 201588010110 汪宏 女 湖南大学 信息科学与工程学院 班级1 100 83 90.0 90.6

13 201588010106 高松 女 湖南大学 信息科学与工程学院 班级1 100 80 90.0 90.0

14 201588010112 张明 女 湖南大学 信息科学与工程学院 班级1 100 79 90.0 89.8

15 201588010210 尹空 女 湖南大学 信息科学与工程学院 班级2 90 80 92.5 89.5

16 201588010206 梁封 女 湖南大学 信息科学与工程学院 班级2 90 78 92.5 89.1

17 201588010102 李四 男 湖南大学 信息科学与工程学院 班级1 90 92 87.5 88.9

18 201588010205 卓建 男 湖南大学 信息科学与工程学院 班级2 100 73 90.0 88.6

19 201588010101 张三 男 湖南大学 信息科学与工程学院 班级1 100 80 87.5 88.5

20 201588010208 李家 男 湖南大学 信息科学与工程学院 班级2 90 80 90.0 88.0

21 201588010214 王未 女 湖南大学 信息科学与工程学院 班级2 80 80 92.5 87.5

22 201588010103 王五 男 湖南大学 信息科学与工程学院 班级1 90 80 87.5 86.5

23 201588010219 潘星 女 湖南大学 信息科学与工程学院 班级2 90 60 92.5 85.5

24 201588010215 李冰 女 湖南大学 信息科学与工程学院 班级2 80 79 87.5 84.3

25 201588010105 马齐 女 湖南大学 信息科学与工程学院 班级1 90 60 90.0 84.0

26 201588010108 皮蓝 女 湖南大学 信息科学与工程学院 班级1 90 60 90.0 84.0

27 201588010113 魏森 男 湖南大学 信息科学与工程学院 班级1 100 68 82.5 83.1

28 201588010216 文虹杨 女 湖南大学 信息科学与工程学院 班级2 80 73 87.5 83.1

29 201588010204 杨看看 女 湖南大学 信息科学与工程学院 班级2 90 68 82.5 81.1

30 201588010212 刘幂 男 湖南大学 信息科学与工程学院 班级2 80 80 60.0 68.0

31 201588010213 蔡连 男 湖南大学 信息科学与工程学院 班级2 80 80 60.0 68.0

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:54:11  更:2021-11-27 09:56:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 3:14:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码