zoukankan      html  css  js  c++  java
  • Numpy基础学习(二)

    数组的创建

    固定数组的创建与随机数组的创建

    import numpy as np
    
    # 固定值数组的创建
    # 可以使用np.array来创建数组
    # arr = np.array([1, 2, 3, 4])
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 可以使用np.arange来创建一个一维数组
    # 参数1:开始位置
    # 参数2:结束位置(默认不包含结束位置)
    # 参数3:步长,如果步长为1,可以省略
    # arr = np.arange(1, 6, 2)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    # 注意:如果开始为0,且步长为1,那么此时,开始与步长可以同时省略
    # arr = np.arange(8)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 可以借助np.arange 和 reshape连用来创建高维度数组
    # arr = np.arange(16).reshape((2, 2, 2, 2))
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建一个等差数组
    # 在数组中,后一个元素减去前一个元素的差值永远都是恒定的,那么该数组--->等差数组
    # 参数1:开始位置
    # 参数2:结束位置(包含结束位置的)
    # 参数3:数组元素的个数
    # arr = np.linspace(1, 5, 4)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建一个等比数组
    # 在数组中,如果后一个元素除以前一个元素的商永远都是恒定的,那么该数组---->等比数组
    # 参数1:开始位置
    # 参数2:结束位置
    # 参数3:生成数组的元素的个数
    # 参数base :底数
    # arr = np.logspace(0, 2, 3, base=10.0)
    # arr = np.logspace(0, 2, 3, base=2.0)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建一个全部为0的数组  ----占位
    # 参数:生成数组的形状
    # arr = np.zeros((2, 3))
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建全部为1的数组
    # arr = np.ones((2, 3))
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 生成一个类似于对角矩阵的数组
    # arr = np.diag(v=[1, 2, 3, 4], k=0)
    # arr = np.diag(v=[1, 2, 3, 4], k=1)
    # arr = np.diag(v=[1, 2, 3, 4], k=-1)
    # 当v为一维时,k=0时,即类似对角矩阵数组
    # 当v为一维时,k>0时,v沿着反对角线向上挪动|k|个单位
    # 当v为一维时,k<0时,v沿着反对角线向下挪动|k|个单位
    
    # print(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))
    # arr = np.diag(v=[[1, 2, 3], [4, 5, 6], [7, 8, 9]], k=0)
    # arr = np.diag(v=[[1, 2, 3], [4, 5, 6], [7, 8, 9]], k=1)
    # arr = np.diag(v=[[1, 2, 3], [4, 5, 6], [7, 8, 9]], k=-1)
    # 当v为二维时,k=0时,拿取的是v的正对角线上的元素
    # 当v为二维时,k>0, 拿取的是沿着反对角线向上挪动|k|个单位时的正对角线的元素
    # 当v为二维时,k<0, 拿取的是沿着反对角线向下挪动|k|个单位时的正对角线的元素
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建一个类似于单位矩阵的数组
    # arr = np.eye(N=3, M=3, k=0)
    # arr = np.eye(N=3, M=4, k=0)
    # arr = np.eye(N=4, M=3, k=0)
    # arr = np.eye(N=4, M=3, k=1)
    # N为行,M为列
    # 当N=M,或者只传N时,k=0,生成一个类似于单位矩阵的数组
    # k的变化参考diag-->k>0沿着反对角线向上挪动,k<0,沿着反对角线向下挪动
    
    # 当N!=M时,生成一个N行,M列的一个类似于单位矩阵的数组
    # 如果N>M,可以认为生成一个M行M列的单位矩阵数组,再补上一个N-M行的0
    # 如果N<M,可以认为生成一个N行N列的单位矩阵数组,再补上一个M-N列的0
    # k的变化参考diag,--->k>0沿着反对角线向上挪动,k<0沿着反对角线向下挪动
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    #  随机数组创建
    # 创建一个[0,1)均匀分布的数组
    # 均匀分布:---落在指定区间内的概率都是一样的
    # 参数:size ---生成数组的元素个数,或者就是生成数组的形状
    # arr = np.random.random(10)
    # arr = np.random.random((2, 3))
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 也可以使用
    # 参数:生成数组的元素个数、或者生成数组的行、列数
    # arr = np.random.rand(10)
    # arr = np.random.rand(2, 3)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    # 创建一个服从标准正态分布的数组
    # 标准正态分布---->均值为0,标准差为1
    # 参数:生成数组的元素个数、或者生成数组的行、列数
    # arr = np.random.randn(10)
    # arr = np.random.randn(2, 3)
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    
    
    # 创建指定范围内的整数数组 ----[low,high)
    # 参数low:最小值
    # 参数high:最大值
    # 参数size:元素的个数 或者形状
    # arr = np.random.randint(low=1, high=10, size=(2, 3))
    # print('arr:\n',arr)
    # print('arr:\n', type(arr))
    
    
    # 创建指定范围内随机小数数组 ---[low,high)
    # 参数low:最小值
    # 参数high:最大值
    # 参数size:元素的个数 或者形状
    # arr = np.random.uniform(low=0, high=10, size=(2, 3))
    # print('arr:\n', arr)
    # print('arr:\n', type(arr))
    

    正态分布图解

  • 相关阅读:
    中风后遗症
    慢性湿疹半年
    女子脚背痒肿案
    肾盂肾炎病案
    鼻衄二则
    糖尿病病案
    慢性肠炎2例
    子宫肌瘤病案2例
    眩晕病案
    前列腺炎病案3例
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/15744191.html
Copyright © 2011-2022 走看看