一、Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

    它主要用来回事图形,用来展现一些数据,更加直观的展示,让你第一眼就只要数据的呈现趋势

  二、Matplotlib 的基本用法

# !/usr/bin/python
# -*- coding: UTF-8 -*-
import matplotlib
from matplotlib import pyplot x = [1, 2, 3, 4, 7, 5, 6, 7, 4, 6, 9, 6, 2, 5, 3, 9, 1, 7]
y_1 = [10, 15, 7, 6, 13, 17, 19, 1, 5, 2, 15, 11, 12, 16, 8, 3, 5, 17]
y_2 = [17, 5, 3, 8, 16, 12, 11, 15, 2, 5, 1, 19, 17, 13, 6, 7, 15, 10] pyplot.figure(figsize=(20, 12), dpi=50) # 调整字体
matplotlib.rc("font", family="MicroSoft YaHei",weight="bold", size=20) # 改变刻度
# pyplot.xticks([ i + 1 for i in range(max(x))], [ "time" + str(i + 1) for i in range(max(x))], rotation=45)
# 第一个参数x轴 第二个展示的内容 rotation 旋转 # 描述
pyplot.xlabel("时间")
pyplot.ylabel("温度")
pyplot.title("折线图") # 折线图
pyplot.plot(x, y_1)
# pyplot.plot(x, y_2)
# 散点图
# pyplot.scatter(x, y_1)
# pyplot.scatter(x, y_2)
# 柱状图
# pyplot.bar(x, y_1)
# pyplot.bar(x, y_2)
# 横版柱状图
# pyplot.barh(range(len(x)), y_1, height=0.3)
# pyplot.barh(range(len(x)), y_2, height=0.3)
# 直方图
# pyplot.hist(x, (max(x)-min(x))//1)
pyplot.xticks(range(min(x), max(x) + 1, 1))
# pyplot.grid()
# 保存图片
# pyplot.savefig("link.png") pyplot.show()

  效果:

  三、NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

    一个用python实现的科学计算,包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

    个人感觉和MATLAB很像,在数据结构和使用上面

  四、基本使用方式

# !/usr/bin/python
# -*- coding: UTF-8 -*- import numpy # 生成数组
n = numpy.arange(10)
print(n)
print("*"*20) # 生成数组,并做2行3列的分隔
m = numpy.array([0,1,2,3,4,5]).reshape(2, 3)
print(m)
print("*"*20) # 生成数据,分隔成3位数组
t = numpy.arange(27).reshape(3, 3, 3)
print(t)
print("*"*20) # 加载文本,为int方式
tx1 = numpy.loadtxt("numpy.txt", delimiter=",", dtype="int")
# 横列替换
tx2 = numpy.loadtxt("numpy.txt", delimiter=",", dtype="int", unpack=True)
print(tx1)
print(tx2)
# 1:2横截取,[1,2]为选取
tx3 = tx1[1:2,[1,2]]
print(tx3)
print("*"*20) # 竖拼接
tx4 = numpy.vstack((tx1, tx2))
print(tx4)
# 横拼接
tx5 = numpy.hstack((tx1, tx2))
print(tx5)
print("*"*20)
numpy.txt
1,2,3
4,5,6
7,8,9

  效果:

[0 1 2 3 4 5 6 7 8 9]
********************
[[0 1 2]
[3 4 5]]
********************
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]] [[ 9 10 11]
[12 13 14]
[15 16 17]] [[18 19 20]
[21 22 23]
[24 25 26]]]
********************
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 4 7]
[2 5 8]
[3 6 9]]
[[5 6]]
********************
[[1 2 3]
[4 5 6]
[7 8 9]
[1 4 7]
[2 5 8]
[3 6 9]]
[[1 2 3 1 4 7]
[4 5 6 2 5 8]
[7 8 9 3 6 9]]
********************

  五、pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

    强大的工具哦,主要用来做数据处理,可以分析各种数据,然后通过其他方式呈现出来。

  六、基本使用方式:

# !/usr/bin/python
# -*- coding: UTF-8 -*-
import pandas
from matplotlib import pyplot # 读取文件
df = pandas.read_csv("BeijingPM20100101_20151231.csv")
# 展示
# print(df.head())
# print(df.info()) # 拼接时间
period = pandas.PeriodIndex(year=df["year"], month=df["month"], day=df["day"], hour=df["hour"], freq="H")
# 将时间数据赋值
df["dataTime"] = period
# 设置索引
df.set_index("dataTime", inplace=True)
# # print(period)
# print(df.head()) # 通过月份统计
df = df.resample("M").mean() # (统计)缺失
data = df["PM_US Post"].dropna() # pylot展示
x = data.index
y = data.values pyplot.figure(figsize=(20, 8), dpi=80)
pyplot.plot(range(len(x)), y)
pyplot.xticks(range(0, len(x), 3), x[::3])
pyplot.show() 

  BeijingPM20100101_20151231.csv
  数据来源:https://www.kaggle.com/uciml/pm25-data-for-five-chinese-cities

  效果:

  七、数据分析才是数据作用的根本出发点,matplotlib只是辅助工具,numpy才是核心,这也是做机器学习、深度学习的基础。

Python之(matplotlib、numpy、pandas)数据分析的更多相关文章

  1. python 安装anaconda, numpy, pandas, matplotlib 等

    如果没安装anaconda,则这样安装这些库: pip install numpy pip install pandas pip install matplotlib sudo apt-get ins ...

  2. 绘图 Matplotlib Numpy Pandas

    丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...

  3. python模块之numpy,pandas基本用法

    numpy: 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库简单来说:就是支持一维数组和多维数组的创建和操作,并有丰富的函数库. 直接看例子 ...

  4. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  5. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  6. 常用统计分析python包开源学习代码 numpy pandas matplotlib

    常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis

  7. 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)

    环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...

  8. python绘图:matplotlib和pandas的应用

    在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库.1.matplotlib库的应用准备工作如下:打开ipython,输 ...

  9. 无用之学matplotlib,numpy,pandas

    一.matplotlib学习 matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建 例子1: # coding=utf- from ...

  10. Pandas数据分析python环境说明文档

    1. 要求windows系统 2. pycharm编程环境并要求配置好python3.x环境 pycharm可在官网下载,下面是链接. https://www.jetbrains.com/zh/pyc ...

随机推荐

  1. 手动安装sublimeText3插件

    就在今天下午,我花了一个小时的时间安装sublime3插件stylus,就是为了让stylus文件能够高亮显示.网上找了很多方法,可以通过package control安装,然而,我的sublime ...

  2. 004 springboot文件上传

    关于文件上传,在spring cloud会再经过配置文件的处理,在spring boot则不需要,在这里写一个文件上传的接口. 单文件上传,如果以后写多文件上传再进行补充. 1.文件目录 2.控制器程 ...

  3. numpy linspace

    https://www.cnblogs.com/antflow/p/7220798.html numpy.linspace(start, stop, num=50, endpoint=True, re ...

  4. linux中proz下载软件安装部署

    W系统里有迅雷这个下载工具,L系统里也一样有prozilla下面说一下CENTOS 5 系统里安装prozilla的过程1.首先在下面的链接下载最新稳定版本的prozilla 记得下tar包版本的[u ...

  5. bootstrap 自带字体颜色

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 通过pathinfo返回扩展名

    strtolower(pathinfo(abs.php,PATHINFO_EXTENSION)); 小写 通过pathinfo返回扩展名 pathinfo() 函数以数组的形式返回文件路径的信息. p ...

  7. 【分布式一致性】etcd

    etcd: https://jimmysong.io/kubernetes-handbook/concepts/etcd.html 什么是 分布式一致性: http://thesecretliveso ...

  8. LODOP中的各种宽高和位置简短问答

    LODOP中的位置边距,可查看本博客另一篇相关博文:LODOOP中的各种边距 打印项.整体偏移.可打区域.内部边距关于LODOP中的各种宽高,可查看本博文简短问答下方的正文:.该文其实有两个以前的相关 ...

  9. 【Leetcode_easy】997. Find the Town Judge

    problem 997. Find the Town Judge solution: class Solution { public: int findJudge(int N, vector<v ...

  10. iOS-Xib获取view尺寸的问题

    用xib创建的视图,我们一般要在控制器中获取对应的view尺寸,但经常我们没法获取到,或者获取的不准 如果通过xib加载出来的view尺寸是不正确的, 在xib中这个view不管你怎么设置都是治标不治 ...