numpy 模块

numpy 模块(多维数组)

import numpy as np
arr=np.array([1,2,3,4],[5,6,7,8])
print(arr)

#[[1 2 3 4]
#[5 6 7 8]]
arr.shape  #(2, 4)  得到的是这个数组有多少行 多少列

#多维数组的索引
arr.shape[0]  #2  得到的是行数
arr.shape[1]  #4  得到的是列数
arr[1,2]  #7  按索引取值


  • 高级功能
import numpy as ap
arr = np.array([[1000,2,300,4],[5,600,7,8] ,[5,6,700,8]])
print(arr)

arr>200
array([[ True, False,  True, False],
       [False,  True, False, False],
       [False, False,  True, False]])
       
arr[arr>200]
array([1000,  300,  600,  700])
  • 多维数组的元素替换

arr = np.array(   [  [1000,2,300,4],    [5,600,7,8]  ,[5,6,700,8] ]   )
arr[1,1]=0

array([[1000,    2,  300,    4],
       [   5,    0,    7,    8],
       [   5,    6,  700,    8]])
       
arr = np.array(   [  [1000,2,300,4],    [5,600,7,8]  ,[5,6,700,8] ]   )
arr[arr>200] = 0

array([[0, 2, 0, 4],
       [5, 0, 7, 8],
       [5, 6, 0, 8]])
  • 多维数组的合并
arr1= np.array([ [1,2,3,4],[5,6,7,8] ])
arr2= np.array([ [9,10,11,12],[13,14,15,16] ])

#vstack和hstack只能放一个参数,这个参数必须得是容器
np.vstack((arr1,arr2))  # vertical
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12],
       [13, 14, 15, 16]])
       
np.hstack([arr1,arr2]) # horizon
array([[ 1,  2,  3,  4,  9, 10, 11, 12],
       [ 5,  6,  7,  8, 13, 14, 15, 16]])
       
np.concatenate((arr1,arr2))  # 默认垂直
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12],
       [13, 14, 15, 16]])

np.concatenate((arr1,arr2),axis=0)  # 默认垂直
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12],
       [13, 14, 15, 16]])

np.concatenate((arr1,arr2),axis=1)  # 默认垂直
array([[ 1,  2,  3,  4,  9, 10, 11, 12],
       [ 5,  6,  7,  8, 13, 14, 15, 16]])
       
  • 通过函数方法创建多维数组

1.创建一维数组

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

np.arange(1,10,2)
array([1, 3, 5, 7, 9])

ones
np.ones((3,4))
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])

zeros
np.zeros((3,4,5))  # 5控制一维,4,5控制二维,3,4,5三维

array([[[0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.]],

       [[0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.]],

       [[0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.]]])
        
        eye
        np.eye(5)  # 5,5
        array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
        
        矩阵的运算
        +    两个矩阵对应元素相加
        -    两个矩阵对应元素相减
        *    两个矩阵对应元素相乘
        /    两个矩阵对应元素相除,如果都是整数则取商
        %    两个矩阵对应元素相除后取余数
        **n    单个矩阵每个元素都取n次方,如**2:每个元素都取平方
		
		最大值
		array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
       arr1.max() #8
       arr1.min() #1
       
       numpy生成随机数
       np.random.seed(1)  # 永不随机,固定
       np.random.rand(3,4)
posted @ 2019-06-12 21:24  『侠客行』  阅读(128)  评论(0编辑  收藏  举报