numpy函数记录

来源:互联网 发布:pps windows是什么意思 编辑:程序博客网 时间:2024/06/10 16:50

1.导入模块

import  numpy as np

2.列表

a = [1,2,3,4]

3,数组

b = np.array([1,2,3,4])

print b 输出[1 2 3 4], 注意没有逗号

3.1 np.linspace(1,10,5)  从1到10 取 5个数

3.2 np.arange(1,10,2)   从1,10,步距为2,不包括10

4.求和,最大值,最小值,均值

np.sum(b,axis =0)    ,          np.cumsum(b)逐个累加,数组维数不变  ,np.diff(b)累差,列会少一列

np.max(b)

np.min(b)

np.mean(b)  np.average(b)  np.median(b)

5.球最大值,最小值对应的索引

np.argmax(b)

np.argmin(b)


6. 矩阵逐行排序  np.sort(b)

7.矩阵反向 np.transpose(b)

8.np.clip(b,3,9)让 矩阵 中所有小于3的数都为3,所有大于9 的数都为9

9.对矩阵列求平均值 np.mean(b,axis =0)

9.对矩阵行求平均值 np.mean(b,axis =1)

10.b[2][1] 等价于 b[2,1]


11,b是一个二维矩阵,使用下面方式输出每一行 :

     for row in b:

          print row

使用下面方式输出每一列:

    for col in b.T:

          print col

12, 二维数组 b转化成一维数组: b.flatten()

    从而可以使用下面方式输出每一个元素: 

   for item  in b.flat:

        print item 


13.垂直合并两个一维数组

a1 = np.array([1,2,3])

a2=np.array([4,5,6])

b = np.vstack((a1,a2))

b = [[1 2 3]

        [4 5 6]]

13.水平合并两个一维数组

b = np.hstack((a1,a2))

b = [1 2 3 4 5 6]


14 . a1= np.array([1,2,3]) 为一维数组[1 2 3],使用如下方法可将其变成1行3列 或 3行1列

      [1 2 3]  变成[[1 2 3]]  a1[np.newaxis,:]   1行3列

      [1 2 3]  变成[[1] 

                            [2]

                            [3]] 

                  a1[;,np.newaxis]   3行1列

14.1 合并综合

       np.concatenate((a1,a2,a3,...),axis = 0) 纵向合并 ,如 两个3行1列纵向合并成 6行1列

       np.concatenate((a1,a2,a3,...),axis = 1) 水平合并 ,如两个3行1列水平合并成 3行 2列


15.矩阵分割

a1 = np.arange(12).resharp((3,4)) 生成3行4列

a2  = np.split(a1,2,1) 纵向分裂成2等份,变成2个 3行2列

a3 = np.array_split(a1,3,1) 纵向分裂成3份,变成1个 3行2列,1个3行1列,1个3行1列


np.vsplit(a1,3) 分成 3个1行4列

np.hsplit(a1,2) 分成2个 3行2列


16.矩阵赋值

a = [1,2,3]

生成1个整数数组: c = np.array(a,dtype=np.int32)

生成1个浮点数数组: c = np.array(a,dtype=np.float32)


关联赋值:

b = a 列表赋值

d  = c矩阵赋值

两者都是引用方式, b is a ,    d is c 都为true ,所以 改变a,c  则b,d也跟着变。 这相当于关联赋值,一改全改


非关联赋值:

b = a[:]  列表赋值  ,此时改变b,不影响a

d = c.copy() 数组赋值,此时改变d,不影响c



原创粉丝点击