绘图 Matplotlib Numpy Pandas

丈夫气力全,一个拟当千。猛气冲心出,视死亦如眠。

绘图 Matplotlib
可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。

能将数据进行可视化,更直观的呈现
使数据更加客观、更具说服力

matplotlib.pyplot模块
import matplotlib.pyplot as plt

构造数据
实现绘图
创建画布
绘制图像
显示图像
基本代码
创建画布:plt.figure()
figsize:指定图的长宽
dpi:图像的清晰度
返回fig对象
绘制图像:plt.plot()
显示图像:plt.show()

其他功能 修改刻度
plt.xticks()
plt.yticks()
标题
plt.title(文字,fontsize=大小)
网格
plt.grid(True,alpha=透明度,linestyle=样式)
保存 .savefig(文件名)

常见图像
折线图 散点图 柱状图 饼图 直方图
折线图
特点:像是数据的变化趋势 反映事物的变化情况(变化)
关键词:变化
api:plt.plot(x,y)

散点图
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
关键词:规律
api:plt.scatter(x,y)

柱状图
特点:展示各个数据的大小,比较数据差别
关键词:比大小
api:plt.bar(x, width, align=’center’, **kwargs)
Parameters:
x : 需要传递的数据

width : 柱状图的宽度

align : 每个柱状图的位置对齐方式
{‘center’, ‘edge’}, optional, default: ‘center’

**kwargs :
color:选择柱状图的颜色

直方图
特点:绘制连续性的数据展示一组或者多组数据的分布状况
关键词:统计分组,分布
api:matplotlib.pyplot.hist(x, bins=None)
x : 需要传递的数据
bins : 组距

饼图
特点:分类数据的占比情况()
关键词:占比
api:plt.pie(x, labels=,autopct=,colors)
x:数量,自动算百分比 列表
labels:每部分名称 列表
autopct:占比显示指定%1.2f%% 字符串 .2表是几位
colors:每部分颜色

绘制
准备数据
绘制图像
创建画布
绘制图像
显示图像

Numpy开源的python科学计算库 比list(列表)更具效率
快速处理任意维度的数组,支持常见的数组和矩阵操作
矩阵:二维数组
使用 ndarray(多维度数组) 对象来处理多维数组 它描述了-相同类型-的“items”的集合

内存块分格
ndarray 数值类型相同,可以直接读取
list 数据类型不同,读取地址在读取数据
并行化计算 类似GPU
内置了并行运算功能,系统有多核心时,做某种计算,会自动做并行计算
底层代码,效率远高于纯python代码
底层用c编写

n维数组 属性,形状,类型

ndarray 属性
对象.shape:数据的形状
对象.ndim:数据的维度
对象.size:数据的个数
对象.dtype:数据的类型
int32,int64,float32,float64,uint8(0,255)
对象.itemsize:一个元素的长度

创建数组
.array([[]],dtype=类型(numpy.int32)/”类型”)

基本操作
生成数组
生成0-1数组
从现有数组生成
生成固定范围数组
生成随机数组

生成数组的方法
import numpy as np
0和1的数组
np.ones(shape, dtype)
np.ones_like(a, dtype)
np.zeros(shape, dtype)
np.zeros_like(a, dtype)

从现有数组生成
np.array(object, dtype)

np.asarray(a, dtype)

a = np.array([[1,2,3],[4,5,6]])
# 从现有的数组当中创建
a1 = np.array(a)—深拷贝
# 相当于索引的形式,并没有真正的创建一个新的
a2 = np.asarray(a)—浅拷贝

生成固定范围的数组
等差数列

np.linspace (start, stop, num, endpoint)

创建-等差-数组 — 指定数量
参数:
start:序列的起始值
stop:序列的终止值
num:要生成的等间隔样例数量,默认为50
endpoint:序列中是否包含stop值,默认为ture

np.arange(start,stop, step, dtype)

创建等差数组 — 指定步长
参数
step:步长,默认值为1

等比数列

np.logspace(start,stop, num)

参数:
num:要生成的等比数列数量,默认为50
不传值默认base=10

生成随机数组
np.random模块

正态分布
——————–

——————–

Pandas (面板数据分析)数据处理的库
-以numpy为基础 借np在计算方面性能高的优势
–基于matplotlib,能够简便的画图
—有独特的数据格式

有良好的图表可读性
处理数据
读取文件
封装了matplotlib,numpy的画图和计算

pandas的数据结构
1.series
由一组数据和与之相关的索引俩部分构成
创建
import pandas as pd

属性

2.DataFrame
创建
属性

数据运算
DataF
直接运算
对象【列名】+1—加1
对象【】.add(1)加1
对象【】.sub(1)–减1

逻辑运算
布尔索引
&—and
|—or

对象[对象[].条件 逻辑运算符 对象[].条件]

逻辑运算函数
query(expr)
expr查询字符串

isin([])在一个区间

统计
对象.describe() –描述(行数,最大,最小,中位数,四分之三位数..)
abs–绝对值
prod–求积
idmax–最大值索引
argmax–最大值下表-np
mode–众数
max–最大值
–axis–轴向 -参数
std–标准差
median 中位数

累计统计函数
cumsum()-前n个数的和

排序 .sort_index()
去重 .unique()
直方图-hest()
.plot(figsize = (画布大小))–画图

自定义运算
对象.apply(func,axis = 0)
def func():
执行内容
return ..

匿名函数
对象.apply(lambda x)

文件读取和操作
文本文件:–csv,–json,html,local clipboard(剪切板)
二进制文件:Excel,–HDF5,SAS
数据库:SQL
读取read_文件格式
存储,写 to_文件格式
读取文件
read_csv69:39 2019/11/1269:39 2019/11/125
pands.read_csv(路径,usecols=[],stp=’,’)
filepath_or_buffer:文件路径
sep :分隔符,默认用”,”隔开
usecols:指定读取的列名,列表形式

to_csv
DataFrame.to_csv(path_or_buf=None, sep=’, ’, columns=None, header=True, index=True, mode=’w’, encoding=None)

path_or_buf :文件路径
sep :分隔符,默认用”,”隔开
columns :选择需要的列索引,列表
header :boolean or list of string, default True,是否写进列索引值
index:是否写进行索引
mode:’w’:重写, ‘a’ 追加

 

 

 

 

 

 

 

 

 

 

 

 

    原文作者:沐军
    原文地址: https://www.cnblogs.com/mujun95/p/11844839.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞