数据分析之Numpy

Numpy

numpy.array:将数组转换成向量

numpy.array([,,,])
转化成1维向量
numpy.array([[,,],[,,],[,,]])
转换成二维向量 vector = numpy.array([[1,2,3],[4,5,6],[8,9,10]])
vector.shape (对象.方法)   形状:三行三列

对象.dtype     数据类型  全为数字为整型,有一个float全为float,同理有一个字符串,类型为字符串,如[8,9,'10']

转换成向量取值

  对象[1,4]  第二个样本的第四个,即2行4列对应的值

切片(同python)

  (1) 对象.[0:3]   取前三个

  (2) matrix[0,1]  取第一行第二个值    matrix[:,1]   取所有行中的第二列的值

判断

   对象==6, 返回一个只有true和false的矩阵,对象中等于6的值为true,其余位置为false     dtype为bool

      注:可以将true当作索引值在取回值 6

类型转换

   对象.astype(float)          括号中为要转换的类型,此例转换成float型

运算

  对象.sum(asis=1)     1代表行 ,0代表列   此例为对每行进行求和

矩阵属性

a = numpy.arange(15).reshape(3,5)      释义:创造0到14一共15个数,形状为 3行5列  (a.shape)       numpy.arange(10,30,5)   从10开始,30结束(不包含30),5为步长   结果[10,15,20,25]

对象.ndim    即a.ndim,对象是几维数组

对象.size   多少元素

矩阵操作

初始化1:numpy.zeros((3,4))     3行4列  元素都为0    同理numpy.ones((3,4))    3行4列  元素都为1   维度只有行和列,所以是2维。

numpy.ones((2,3,4))   3维数组

初始化2:numpy.random.random((2,3))   0-1之间的随机数,2行3列

初始化3:numpy.linspace(0,3.14,100)    在0-3.14之间平均取100个值

矩阵运算与线代相同                                       [ [1,2]

a=[[1,2]        b=[[5,6]                       [3,4]

[3,4]]             [7,8]]             [5,6]                [1,2,5,6]

numpy.vstack((a,b))   行拼接  如:   [7,8]]     numpy.hstack((a,b))   列拼接      [3,4,7,8]

numpy.hsplite(a,3)      a为矩阵,隔4列切一刀,切成一个一个array      numpy.vsplite(a,3)

复制

a=b和b=a.view()   前者完全相同,后者浅拷贝,但是对一个中的数值进行操作二者数值都改变,即啊,b共用一组数据

b=a.copy()   推荐使用,修改b数值,a中的数值不发生改变

对象.argmax(axis=0)   找出每一列中的最大值

numpy.tile(a,(4,2))     如:传进来一个a=[10,20,30],行X4,列X2

sort   排序

上一篇:[Introduction to programming in Java 笔记] 1.3.8 Gambler's ruin simulation 赌徒破产模拟


下一篇:web前端学习(二)html学习笔记部分(1) -- html5新增的元素及特性等等