数据挖掘三大模块

数据挖掘三大模块

一、numpy

numpy是python中一个与科学计算有关的库,本文将介绍一些常用的numpy函数,使用numpy之前需要先引入,输入import numpy as np,我们一般将numpy简化为np。

1.np.arange(n):生成0至n-1个整数。

2.a.reshape(m,n):将a重新定义为一个m行n列的矩阵。

3.a.shape:打印a的行和列。

4.a.ndim:求a的维度。

5.a.size:输出a中的元素个数。

6.np.zeros((m,n)):生成m行n列的零矩阵,应当注意的是,函数中要传入一个元组。此时生成的矩阵0后面有一个小数点,因为系统默认数据类型为浮点型,要想获得整数类型,我们应预先指定好数据类型。

7.np.ones((k,m,n),dtype=np.int32):生成k个m行n列的单位矩阵,且矩阵中的数据类型为整数型。

8.np.arange(m,n,k):生成m到n的以k为步长切片的数据。

9.np.linspace(m,n,k):在m到n的数据中按等间距取k个值。
10.若A、B为同维矩阵,则A*B返回的是A和B矩阵对应位置相乘得到的结果,A.dot(B)或np.dot(A,B)返回的才是矩阵乘法所得的结果。

11.np.exp(A)或np.sqrt(B):分别得到e的B次幂和矩阵B中每个数开方所得到的结果。
12.np.floor():向下取整。

13.a.ravel():将矩阵a重新拉伸成一个向量,拉伸后可以重新reshape成一个新矩阵。

14.a.T:求a的转置矩阵。

15.a.reshape(n,-1)或a.reshape(-1,n):确定一个矩阵的行(列)后,相应的列(行)也直接被确定,因此输入-1即可。
16.np.hstack((a,b)):将矩阵a和b横向拼接。

17.np.vstack((a,b)):将矩阵a和b纵向拼接。

18.np.hsplit(a,n):将矩阵a横向切为n份。

19.np.hsplit(a,(m,n)):在a的索引为m和n的空隙横向切开。

20.np.vsplit(a,n):将矩阵a纵向切为n份。

21.np.hsplit(a,(m,n)):在a的索引为m和n的空隙纵向切开。

22.矩阵的复制:

        b = a:此时得到的b与a的地址是完全相同的,也就是a,b只是同一个矩阵的不同名称,对其中任意一个矩阵操作都会引起另一个矩阵相同的变化。

        b = a.view():此时得到的b与a的地址不同,但是对b的操作会改变a。

        b = a.copy():此时得到的是两个完全独立的矩阵。
        
23.b = np.tile(a,(m,n)):将矩阵a的行数扩大m倍,列数扩大n倍。

24.np.sort(a,axis=k):将矩阵a在k维排序。

25.np.argsort(a):返回将a升序排列后的索引值(默认排列方式为升序)。


二、pandas

三、matplolib

plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test

plt.ylabel(‘Grade’) :  y轴的名称

plt.axis([-1, 10, 0, 6]) :  x轴起始于-1,终止于10 ,y轴起始于0,终止于6

plt.subplot(3,2,4) :  分成3行2列,共6个绘图区域,在第4个区域绘图。排序为行优先。也可 plt.subplot(324),将逗号省略。

 

.plot函数
plt.plot(x, y, format_string, **kwargs): x为x轴数据,可为列表或数组;y同理;format_string 为控制曲线的格式字符串, **kwargs 第二组或更多的(x, y, format_string)

format_string: 由 颜色字符、风格字符和标记字符组成。

颜色字符:‘b’蓝色  ;‘#008000’RGB某颜色;‘0.8’灰度值字符串

风格字符:‘-’实线;‘--’破折线; ‘-.’点划线; ‘:’虚线 ; ‘’‘’无线条

标记字符:‘.’点标记  ‘o’ 实心圈 ‘v’倒三角  ‘^’上三角

 

eg: plt.plot(a, a*1.5, ‘go-’,    a, a*2, ‘*’)   第二条无曲线,只有点

 

.plot 显示中文字符
pyplot并不默认支持中文显示,需要rcParams修改字体来实现

rcParams的属性:

‘font.family’ 用于显示字体的名字

‘font.style’ 字体风格,正常’normal’ 或斜体’italic’

‘font.size’ 字体大小,整数字号或者’large’   ‘x-small’

eg:

import matplotlib

matplotlib.rcParams[‘font.family’] = ‘STSong’

matplotlib.rcParams[‘font.size’] = 20

设定绘制区域的全部字体变成 华文仿宋,字体大小为20

 

中文显示2:只希望在某地方绘制中文字符,不改变别的地方的字体

在有中文输出的地方,增加一个属性: fontproperties

eg:

plt.xlabel(‘横轴:时间’, fontproperties = ‘simHei’, fontsize = 20)

 

pyplot文本显示函数:

plt.xlabel():对x轴增加文本标签

plt.ylabel():同理

plt.title(): 对图形整体增加文本标签

plt.text(): 在任意位置增加文本

plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict)

: 在图形中增加带箭头的注解。s表示要注解的字符串是什么,xy对应箭头所在的位置,xytext对应文本所在位置,arrowprops定义显示的属性

eg:

plt.xlabel(‘横轴:时间’, fontproperties = ‘SimHei’, fontsize = 15, color = ‘green’)

plt.ylabel(‘纵轴:振幅’, fontproperties = ‘SimHei’, fontsize = 15)

plt.title(r’正弦波实例 $y=cons(2\pi x)$’ , fontproperties = ‘SimHei’, fontsize = 25)

plt.annotate (r’%mu=100$, xy = (2, 1), xytext = (3, 1.5),

arrowprops = dict(facecolor = ‘black’, shrink = 0.1, width = 2)) # width表示箭头宽度

plt.text (2, 1, r’$\mu=100$, fontsize = 15)

plt.grid(True)

 

plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict)

 

plt子绘图区域
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1):设定网格,选中网格,确定选中行列区域数量,编号从0开始。

eg:

plt.subplot2grid((3, 3), (1, 0), colspan = 2) : (3,3)表示分为3行3列,(1,0)表示选中第1行,第0列的区域进行绘图,colspan=2表示在选中区域的延伸
    
Plot的图表函数
plt.plot(x,y , fmt)  :绘制坐标图

plt.boxplot(data, notch, position): 绘制箱形图

plt.bar(left, height, width, bottom) : 绘制条形图

plt.barh(width, bottom, left, height) : 绘制横向条形图

plt.polar(theta, r) : 绘制极坐标图

plt.pie(data, explode) : 绘制饼图

plt.scatter(x, y) :绘制散点图

plt.hist(x, bings, normed) : 绘制直方图
posted @ 2019-12-17 18:01  Jeff的技术栈  阅读(670)  评论(0编辑  收藏  举报
回顶部