zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    初识HTML5
    java_类的有参方法
    示例:人机猜拳(请各位大佬看下)
    java-类和对象(笔记)
    Redis设计与实现——多机数据库的实现
    Redis设计与实现——独立功能的实现
    mina
    GUAVA-cache实现
    GUAVA-ListenableFuture实现回调
    Netty多协议开发
  • 原文地址:https://www.cnblogs.com/bladecheng/p/11012815.html
Copyright © 2011-2022 走看看