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)
    
  • 相关阅读:
    DataAnnotations
    使用BizTalk实现RosettaNet B2B So Easy
    biztalk rosettanet 自定义 pip code
    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline
    Modifying namespace in XML document programmatically
    IIS各个版本中你需要知道的那些事儿
    关于IHttpModule的相关知识总结
    开发设计的一些思想总结
    《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
    《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
  • 原文地址:https://www.cnblogs.com/bladecheng/p/11012815.html
Copyright © 2011-2022 走看看