zoukankan      html  css  js  c++  java
  • 初探numpy——数组的创建

    numpy创建数组

    使用array函数创建数组

    import numpy as np
    array=np.array([1,2,3])
    print(array)
    
    [1 2 3]
    

    使用numpy.empty方法创建数组

    numpy.empty方法可以创建一个指定形状、数据类型且未初始化的数组

    numpy.empty(shape , dtype = float , order = 'C')
    
    参数 描述
    shape 数组形状
    dtype 数据类型
    array=np.empty((3,4))
    print(array)
    
    [[1.35966218e-311 1.35966218e-311 1.35966218e-311 1.05699242e-307]
     [8.01097889e-307 1.78020169e-306 7.56601165e-307 1.02359984e-306]
     [1.33510679e-306 2.22522597e-306 1.24611674e-306 1.29061821e-306]]
    

    使用numpy.zeros方法创建数组

    numpy.zeros方法可以创建一个指定大小的数组,数组元素以0来填充

    numpy.zeros(shape , dtype = float , order = 'C')
    
    参数 描述
    shape 数组形状
    dtype 数据类型
    array=np.zeros((4,5))
    print(array)
    
    [[0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0.]
     [0. 0. 0. 0. 0.]]
    

    使用numpy.ones方法创建数组

    numpy.ones方法可以创建一个指定大小的数组,数组元素以1来填充

    numpy.ones(shape , dtype = float , order = 'C')
    
    参数 描述
    shape 数组形状
    dtype 数据类型
    array=np.ones((4,4))
    print(array)
    
    [[1. 1. 1. 1.]
     [1. 1. 1. 1.]
     [1. 1. 1. 1.]
     [1. 1. 1. 1.]]
    

    使用numpy.eye方法创建数组

    numpy.eye方法可以创建一个正方的n*n单位矩阵(对角线为1,其余为0)

    array=np.eye(3)
    print(array)
    
    [[1. 0. 0.]
     [0. 1. 0.]
     [0. 0. 1.]]
    

    使用numpy.asarray方法创建数组

    numpy.asarray方法可以将输入转换为ndarray,如果输入本身就是ndarray则不进行复制

    numpy.asarray(a , dtype = None , order = None)
    
    参数 描述
    a 任意输入,可以是列表、列表的元组、元组、元组的元组、多维数组
    dtype 数据类型
    # 将列表转换为ndarray
    
    a=[1,2,3]
    array=np.asarray(a)
    print(array)
    
    [1 2 3]
    
    #将元组转化为ndarray
    
    a=(1,2,3)
    array=np.asarray(a)
    print(a)
    
    (1, 2, 3)
    
    # 将元组列表转换为ndarray
    
    a=[(1,2,3),(4,5)]
    array=np.asarray(a)
    print(a)
    
    [(1, 2, 3), (4, 5)]
    

    使用numpy.arange方法创建数组

    使用numpy.arange方法创建数值范围数组并返回ndarray对象

    numpy.arange(start , stop , step, dtype)
    
    参数 描述
    start 起始值,默认为1
    stop 终止值
    step 步长,默认为1
    dtype ndarray数据类型
    # 生成0到6的数组
    
    array=np.arange(6)
    print(array)
    
    [0 1 2 3 4 5]
    
    # 设置dtype
    
    array=np.arange(6,dtype=float)
    print(array)
    
    [0. 1. 2. 3. 4. 5.]
    
    # 设置起始值,终止值,步长
    
    array=np.arange(10,20,3)
    print(array)
    
    [10 13 16 19]
    

    使用numpy.linspace方法创建数组

    numpy.linspace用于创建一个一维等差数列的数组

    numpy.linspace(start , stop, num=50 , endpoint=True , retstep = False , dtype = None)
    
    参数 描述
    start 起始值
    stop 终止值
    num 要生成等步长的样本数量,默认为50
    endpoint 该值为True时,数列中包含stop值,默认为True
    retstep 该值为True时,显示间距,默认为False
    dtype ndarray的数据类型
    # 生成1到10的10个数值组成的等差序列
    
    array=np.linspace(1,10,10)
    print(array)
    
    [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
    
    # 将endpoint设为false
    
    array=np.linspace(1,10,10,endpoint=False)
    print(array)
    
    [1.  1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1]
    
    # 显示间距
    
    array=np.linspace(1,10,10,retstep=True)
    print(array)
    
    (array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.]), 1.0)
    

    使用numpy.logspace方法创建数组

    numpy.linspace用于创建一个一维等比数列的数组

    numpy.linspace(start , stop , num = 50 , endpoint = True , base = 10.0 , dtype = None)
    
    参数 描述
    start 起始值:base^start
    stop 终止值:base^stop
    num 要生成的样本数量,默认为50
    endpoint 该值为True时,数列中包含stop值,默认为True
    base 对数log的底数
    dtype ndarray的数据类型
    # 生成10^1到10^10的一个等比数列
    
    array=np.logspace(1,10,num=10)
    print(array)
    
    [1.e+01 1.e+02 1.e+03 1.e+04 1.e+05 1.e+06 1.e+07 1.e+08 1.e+09 1.e+10]
    
    #将底数设置为2
    
    array=np.logspace(1,10,num=10,base=2)
    print(array)
    
    [   2.    4.    8.   16.   32.   64.  128.  256.  512. 1024.]
  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/LRainner/p/13198767.html
Copyright © 2011-2022 走看看