zoukankan      html  css  js  c++  java
  • numpy学习之创建数组

    1.使用array函数创建数组

    import numpy as np
    ndarray1 = np.array([1, 2, 3])
    array([1, 2, 3])
    ndarray2 = np.array(list('abcd'))
    array(['a', 'b', 'c', 'd'],
          dtype='<U1')
    ndarray3 = np.array([[1, 2], [3, 4]])
    array([[1, 2],
           [3, 4]])

    2.zeros和zeros_like创建数组

    用于创建数组,数组元素默认值是0. 注意:zeros_like函数只是根据传入的ndarray数组的shape来创建所有元素为0的数组,并不是拷贝源数组中的数据

    ndarray1 = np.zeros(6)
    ndarray2 = np.zeros((2, 3))
    ndarray3 = np.zeros_like(ndarray2)  # 按照 ndarray2 的shape创建数组
    print("数组类型:")
    print('ndarray1:', type(ndarray1))
    print('ndarray2:', type(ndarray2))
    print('ndarray3:', type(ndarray3))print("数组元素类型:")
    print('ndarray1:', ndarray1.dtype)
    print('ndarray2:', ndarray2.dtype)
    print('ndarray3:', ndarray3.dtype)print("数组形状:")
    print('ndarray1:', ndarray1.shape)
    print('ndarray2:', ndarray2.shape)
    print('ndarray3:', ndarray3.shape)
    
    输出结果:
    数组类型:
    ndarray1: <class 'numpy.ndarray'>
    ndarray2: <class 'numpy.ndarray'>
    ndarray3: <class 'numpy.ndarray'>
    数组元素类型:
    ndarray1: float64
    ndarray2: float64
    ndarray3: float64
    数组形状:
    ndarray1: (6,)
    ndarray2: (2, 3)
    ndarray3: (2, 3)

    3.ones和ones_like创建数组

    与zero类似

    # 创建数组,元素默认值是0
    ndarray1 = np.ones(7)
    ndarray2 = np.ones((2, 3))
    # 修改元素的值
    ndarray2[0][1] = 4
    ndarray3 = np.ones_like(ndarray2)  # 按照 ndarray2 的shape创建数组
    # 打印数组元素类型
    print("数组类型:")
    print('ndarray1:', type(ndarray1))
    print('ndarray2:', type(ndarray2))
    print('ndarray3:', type(ndarray3))print("数组元素类型:")
    print('ndarray1:', ndarray1.dtype)
    print('ndarray2:', ndarray2.dtype)
    print('ndarray3:', ndarray3.dtype)print("数组形状:")
    print('ndarray1:', ndarray1.shape)
    print('ndarray2:', ndarray2.shape)
    print('ndarray3:', ndarray3.shape)
    
    输出结果:
    数组类型:
    ndarray1: <class 'numpy.ndarray'>
    ndarray2: <class 'numpy.ndarray'>
    ndarray3: <class 'numpy.ndarray'>
    数组元素类型:
    ndarray1: float64
    ndarray2: float64
    ndarray3: float64
    数组形状:
    ndarray1: (7,)
    ndarray2: (2, 3)
    ndarray3: (2, 3)

    4.empty和empty_like创建数组

    用于创建空数组,空数据中的值并不为0,而是未初始化的随机值.

    ndarray1 = np.empty(5)
    ndarray2 = np.empty((2, 3))
    ndarray3 = np.empty_like(ndarray1)
    # 打印数组元素类型
    print("数组类型:")
    print('ndarray1:', type(ndarray1))
    print('ndarray2:', type(ndarray2))
    print('ndarray3:', type(ndarray3))print("数组元素类型:")
    print('ndarray1:', ndarray1.dtype)
    print('ndarray2:', ndarray2.dtype)
    print('ndarray3:', ndarray3.dtype)print("数组形状:")
    print('ndarray1:', ndarray1.shape)
    print('ndarray2:', ndarray2.shape)
    print('ndarray3:', ndarray3.shape)
    
    输出结果:
    数组类型:
    ndarray1: <class 'numpy.ndarray'>
    ndarray2: <class 'numpy.ndarray'>
    ndarray3: <class 'numpy.ndarray'>
    数组元素类型:
    ndarray1: float64
    ndarray2: float64
    ndarray3: float64
    数组形状:
    ndarray1: (5,)
    ndarray2: (2, 3)
    ndarray3: (5,)

    5.arange函数创建数组

    arange函数是python内置函数range函数的数组版本

    ndarray1 = np.arange(10)
    print("ndarray1:",ndarray1)
    ndarray2 = np.arange(10, 20)
    print("ndarray2:",ndarray2)
    ndarray3 = np.arange(10, 20, 2)
    print("ndarray3:",ndarray3)
    
    输出结果:
    ndarray1: [0 1 2 3 4 5 6 7 8 9]
    ndarray2: [10 11 12 13 14 15 16 17 18 19]
    ndarray3: [10 12 14 16 18]

    6.eye创建对角矩阵数组

    该函数用于创建一个N*N的矩阵,对角线为1,其余为0.

    ndarray1 = np.eye(3)
    ndarray1
    输出结果:
    array([[ 1.,  0.,  0.],
           [ 0.,  1.,  0.],
           [ 0.,  0.,  1.]])
  • 相关阅读:
    增强的for循环(或foreach)
    XMLHTTP使用具体解释
    数据转换
    JS来推断文本框内容改变事件
    Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用
    同类软件大比拼
    Java实现 蓝桥杯 历届试题 最大子阵
    Java实现 蓝桥杯 历届试题 最大子阵
    Java实现 蓝桥杯 历届试题 最大子阵
    Java实现 蓝桥杯 历届试题 最大子阵
  • 原文地址:https://www.cnblogs.com/greatfish/p/10370527.html
Copyright © 2011-2022 走看看