Python之(matplotlib、numpy、pandas)数据分析
一、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)数据分析的更多相关文章
- python 安装anaconda, numpy, pandas, matplotlib 等
如果没安装anaconda,则这样安装这些库: pip install numpy pip install pandas pip install matplotlib sudo apt-get ins ...
- 绘图 Matplotlib Numpy Pandas
丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...
- python模块之numpy,pandas基本用法
numpy: 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库简单来说:就是支持一维数组和多维数组的创建和操作,并有丰富的函数库. 直接看例子 ...
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- 常用统计分析python包开源学习代码 numpy pandas matplotlib
常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis
- 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)
环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...
- python绘图:matplotlib和pandas的应用
在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库.1.matplotlib库的应用准备工作如下:打开ipython,输 ...
- 无用之学matplotlib,numpy,pandas
一.matplotlib学习 matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建 例子1: # coding=utf- from ...
- Pandas数据分析python环境说明文档
1. 要求windows系统 2. pycharm编程环境并要求配置好python3.x环境 pycharm可在官网下载,下面是链接. https://www.jetbrains.com/zh/pyc ...
随机推荐
- 经管/管理/团队经典电子书pdf下载
卓有有效的管理者 管理的本质 只有偏执狂才能生存 格鲁夫给经理人的第一课 影响力: 你为什么会说“是” 关键影响力:如何调动团队力量 执行 如何完成任务的学问
- Sizes of integer types 整形字节长度 系统字节
/usr/include/limits.h /* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005 Free Software ...
- flutter 日志工具类
class LogUtils { //dart.vm.product 环境标识位 Release为true debug 为false static const bool isRelease = con ...
- 004-行为型-04-迭代器模式(Iterator)
一.概述 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部 ...
- 泡泡一分钟:Fast and Robust Initialization for Visual-Inertial SLAM
张宁 Fast and Robust Initialization for Visual-Inertial SLAM链接:https://pan.baidu.com/s/1cdkuHdkSi9x7l ...
- Qt编写自定义控件66-光晕时钟
一.前言 在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是在某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效 ...
- Spring MVC 数据转换和格式化
HttpMessageConverter和JSON消息转换器 HttpMessageConverter是定义从HTTP接受请求信息和应答给用户的 HttpMessageConverter是一个比较广的 ...
- MySQL修改表名示例
首先,我们新建一个名为test_table的表: drop table if exists test_table; create table test_table select TABLE_SCHEM ...
- 亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接
亲爱的mssql码农们,可以看看本地连接远程的数据库方式(sp_addlinkedserver)--通过代码连接 --查看当前链接情况: select * from sys.servers; --使用 ...
- 【tensorflow】tensorflow官网进不去,因为它的地址改变了
以前的网址是https://www.tensorflow.org/,当时得fq才能打开,现在这个我fq都打不开了. 现在新网址是https://tensorflow.google.cn/这个不fq都可 ...