python数据分析——numpy,pandas,matplotlib

matliotilb:帮助画图

numpy:帮助我们处理数据型的数组

pandas:是在numpy的基础上除了帮我们处理数据型的数组,还能帮助我们处理字符串,列表,以及时间序列等等所有数据类型都是可以处理的

一,数据分析是用适当的方法对收集来的大量数据进行分析.(帮助人们做出判断,以便采取适当行动)

二,数据分析的流程:

1.提出问题

2.准备数据

3.分析数据

4.获得结论

5.成果可视化(图表或者文字等)

三,环境anaconda

jupyter notebook

python数据分析——numpy,pandas,matplotlib

matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB

1.能将数据进行可视化,更直观的呈现

2.使数据更加客观,更具说服力

通过下面一个小例子我们来看一下matplotlib该如何简单的使用

假设一天当中每隔两个小时(range(2,26,2))的气温分别是[15,13,23,24,15,26,22,26,23,11,10,8]

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

设置图片大小

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

保存图片

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
plt.savefig("./sig_size.png")#保存图片,可以保存为svg这种矢量图格式,放大不会有据齿
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

绘制x轴的刻度

plt.xticks(x)

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
plt.xticks(x)#绘制x轴的刻度
#plt.savefig("./sig_size.png")#保存图片,可以保存为svg这种矢量图格式,放大不会有据齿
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

plt.xticks(range(2,25,1))#改变范围与步幅

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
plt.xticks(range(2,25,1))#绘制x轴的刻度
#plt.savefig("./sig_size.png")#保存图片,可以保存为svg这种矢量图格式,放大不会有据齿
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

改变x轴的刻度

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
_stick_labels = [i/2 for i in range (4,49)]
plt.xticks(_stick_labels)#绘制x轴的刻度
#plt.savefig("./sig_size.png")#保存图片,可以保存为svg这种矢量图格式,放大不会有据齿
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

y轴刻度

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,23,24,15,26,22,26,23,11,10,8]#数据在y轴的位置,是一个可迭代对象
#->x轴和y轴的数据一起组成了所有要绘制出的坐标
#->分别是(2,15)(4,13)(6,23(8,24)......

plt.figure(figsize=(21,10),dpi=100)#设置图片大小
plt.plot(x,y)#->传入x和y,通过plot绘制出折线图
_stick_labels = [i/2 for i in range (4,49)]
plt.xticks(_stick_labels)#绘制x轴的刻度
plt.yticks(range(min(y),max(y)))
#plt.savefig("./sig_size.png")#保存图片,可以保存为svg这种矢量图格式,放大不会有据齿
plt.show()#->在执行程序的时候展示图形

python数据分析——numpy,pandas,matplotlib

如果列表a表示8点到10的每一分钟的气温变化,该如何绘制折线图观察每一分钟气温的变化情

a = [random.randint(23,37)for i in range(120)]

from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.plot(x,y)
plt.show()

python数据分析——numpy,pandas,matplotlib
from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)#设置图片大小
plt.plot(x,y)
_x = x
_xtick_labels = ["hello,{}".format(i) for i in _x]#调整x轴的刻度
plt.xticks(_x,_xtick_labels)
plt.show()

python数据分析——numpy,pandas,matplotlib

调整x轴的刻度

_x = x
_xtick_labels = [“hello,{}”.format(i) for i in _x]
plt.xticks(_x,_xtick_labels)

from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_x = list(x)[::10]
_xtick_labels = ["hello,{}".format(i) for i in _x]#调整x轴的刻度
plt.xticks(_x,_xtick_labels)
plt.show()

python数据分析——numpy,pandas,matplotlib
from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]#调整x轴的刻度
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::3],_xtick_labels[::3])#取步长,数字和字符串一一对应,数据的长度一样
plt.show()

python数据分析——numpy,pandas,matplotlib
from matplotlib import pyplot as plt
import random
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]#调整x轴的刻度
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45)#取步长,数字和字符串一一对应,数据的长度一样
#rotation旋转的度数
plt.show()

python数据分析——numpy,pandas,matplotlib

设置中文显示

为什么无法显示中文:

matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字

查看linux/mac

fc-list->查看支持的字体

fc-list :lang=zh->查看支持的中文(冒号前面有空格)

那么问题来了:如何修改matplotlib的默认字体?

通过matplotlib.rc可以修改,具体方法参见源码(windows/linux/mac)

通过matplotlib下的font manager可以解决(windows/linux)

from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
#windows和linux设置字体的方式
#font = {'family':'Ubuntu-R.ttf',
        'weight':'larger',
        'size':'larger'}
#matplotlib.rc("font",**font)
#matplotlib.rc("font",famliy='Ubuntu-R.ttf','weight':'larger')
my_font = font_manager.FontProperties(fname="/static/fonts/Ubuntu-R.ttf")
x = range(0,120)
y = [random.randint(23,37)for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]#调整x轴的刻度
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)#取步长,数字和字符串一一对应,数据的长度一样
#rotation旋转的度数
plt.show()

Original: https://blog.csdn.net/qy_xm/article/details/122457481
Author: 旗妍
Title: python数据分析——numpy,pandas,matplotlib

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/758896/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python入门07 事件 pygame

    目录 事件 一、概念 ①、事件循环 ②、事件队列 ③、事件处理器 二、键盘事件 ① 、先左右移动 ②、添加按键事件——上下移动 ③、重复按键 ④、事件名和按键名 三、鼠标事件 ①、…

    Python 2023年9月23日
    044
  • maven 重复依赖不同版本 选择规则

    maven 重复依赖不同版本 选择规则 本篇主要来看看 maven 对于 重复依赖的jar的不同版本时候 它内部的选择规则, 很多时候我们在搭建环境的时候 不注意就会存在依赖冲突等…

    Python 2023年10月17日
    063
  • Python实现GWO智能灰狼优化算法优化支持向量机分类模型(SVC算法)项目实战

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解),如需 数据+代码+文档+视频讲解可以直接到文章最后获取。 1.项目背景 灰狼优化算法(GWO),由澳大利亚格里菲…

    Python 2023年9月2日
    053
  • python print输出字符串报错

    python print输出字符串报错 原创 CorwinPC2022-07-18 17:46:31博主文章分类:Python ©著作权 文章标签 python 字符串 ico 文…

    Python 2023年5月25日
    052
  • Python代码阅读(第29篇):使用初始化种子和迭代函数生成列表

    本文中的代码实现使用一个初始化种子和一个迭代函数通过嵌套函数迭代初始化种子,从而生成一个列表。 [En] The code implementation read in this …

    Python 2023年5月25日
    071
  • 02 uniapp/微信小程序 项目day02

    一.分类 1.1 页面布局 首先创建cate的分支 定义基本结构,因为是两个需要滚动的区域,所以这里要用到组件 scroll 这个组件如果是y scroll那就要固定高度,x sc…

    Python 2023年10月21日
    031
  • Python学习笔记(十一)– Django API RESTful

    (1)路由;(2)视图类(提供给用户访问相当于原来的视图函数);(3)序列化类(提供给视图类使用,把对象序列化成Json) 注意:使用rest_framework,需先 setti…

    Python 2023年11月1日
    032
  • Matplotlib——条形图_3、分组条形图_4、堆叠条形图

    3、分组条形图 在前面博客( https://blog.csdn.net/XQC_KKK/article/details/123322832.)的基础上,拓展一下问题复杂度:使用水…

    Python 2023年9月6日
    048
  • 带你了解NLP的词嵌入

    摘要:今天带领大家学习自然语言处理中的词嵌入的内容。 本文分享自华为云社区《【MindSpore易点通】深度学习系列-词嵌入》,作者:Skytier。 1 特征表示 在自然语言处理…

    Python 2023年10月28日
    043
  • Python图书管理系统(二)

    文章目录 前言 PyMySQL 安装 PyMySQL 使用 数据库方面的准备 图书管理系统代码 前言 上次写了用IO完成数据存储的图书管理系统,这次更新一个用MySQL完成数据存储…

    Python 2023年8月2日
    059
  • Infrastructure 知识: dnf对module的处理

    从RHEL8/CentOS8开始,dnf取代yum作为rpm 包管理工具。与之而来的还有模块(module)这个东西。 有了它们的加持,让在同一个OS上安装不同版本的软件或者开发语…

    Python 2023年6月10日
    051
  • pandas第一天

    下面我们介绍 Series 的常用属性和方法。 在下表列出了 Series 对象的常用属性。 名称 属性 1.axes 以列表的形式返回所有行索引标签。 2.dtype 返回对象的…

    Python 2023年8月7日
    035
  • 【Python从入门到实践7.0】虚拟环境的搭建和使用

    Python虚拟环境配置 首先简单说一下虚拟环境的概念。虚拟环境是由基础环境创建而出,用于独有项目的开发,每个项目都应该有一个独有的环境。 第一步检查是否安装Python 1、执行…

    Python 2023年8月4日
    058
  • redis高级

    1 redis高可用 主从复制存在的问题: 1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个slave变成master—>哨兵 2 主从复制,只能主…

    Python 2023年6月10日
    089
  • Flask之工厂模式

    Flask开发之–构建工厂模式(一) 提示:如果您学习了flask,想迫切开始自己的第一个项目,这里可以在一定程度上帮助你。 文章目录 Flask开发之–构建工厂模式(…

    Python 2023年8月14日
    040
  • numpy 读写 npy npz 文件

    文章目录 * – 创建数组 – 保存单个数组 – 读取单个数组 – 创建第二个数组 – 保存多个数组 – 读…

    Python 2023年8月26日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球