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 ...
随机推荐
- 大数据/NoSQL经典电子书pdf下载
Hadoop系列 Cloudera出品的各种官方文档 入门必备 https://www.cloudera.com/documentation.html Cloudera Hadoop大数据平台实战指南 ...
- Android: ListView与Button的共存问题解决
ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽. ...
- Spring Boot TImer Schedule Quartz
Spring Boot 2.X(十二):定时任务-云栖社区-阿里云https://yq.aliyun.com/articles/723876?spm=a2c4e.11155472.0.0.2f8b3a ...
- 国人开发的api测试工具 ApiPost
挺好用的 ApiPost https://www.apipost.cn/download.html 需要注册,免费试用.感觉比postman好用
- python读写csv文件的方法(还没试,先记录一下)
该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams ) 返回一个reader对象,它将迭代给定csvfile中的行. csv ...
- Ubuntu18.04 instsall XMind_8 and crack
1.dowload XMind_8 linux install zip wget https://www.xmind.cn/xmind/downloads/xmind-8-update8-linux. ...
- 抓取二维数组某值出来,到一维数组---array_column
/*** * '抓取二维数组某值出来,到一维数组' * @param $arr * @param $item * @return array */ function get_arr_item_val( ...
- 汉字转拼音插件:LM-PinYin.js
CDN:http://dtdxrk.github.io/jsPlug/pinyin/LM-PinYin.js demo演示地址:http://dtdxrk.github.io/jsPlug/pinyi ...
- Web调试利器fiddler(转)
http://blog.chinaunix.net/uid-27105712-id-3738821.html
- css 修改placeholder样式
input::-webkit-input-placeholder{ color:red; } input::-moz-placeholder{ /* Mozilla Firefox 19+ */ co ...