美文网首页我爱编程
NumPy--ndarray 的创建和各种数据类型

NumPy--ndarray 的创建和各种数据类型

作者: b485c88ab697 | 来源:发表于2017-09-04 23:20 被阅读209次

    ndarray 的创建和各种数据类型

    创建

    由一维数组创建

    import numpy as np
    data = [6,8,2,3,4,4]
    arr = np.array(data)
    print(arr)
    arr.ndim
    
    类型 说明
    array 将输入数据(列表、元组、数组或其它序列类型)转换为ndarray。要么推断出dtype, 要么显示指定dtype。默认直接复制输入数据。
    asarray 将输入转换为darray,如果输入本身就是一个ndarray就不进行复制。
    arange 类似于内置的range,但返回一个ndarray而不是列表。
    ones, ones_like 根据指定形状和dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形 状和dtype创建一个全1数组。
    zeros, zeros_like 类似于ones和ones_like,只不过产生的是全0数组而已。
    empty, empty_like 创建数组,只分配内存空间但不填充任何值。
    eye, identity 创建一个正方的N * N单位矩阵

    多维数组内存结构

    普通二维数组创建

    data = [[1,2,3,4],[5,6,7,8.0]]
    arr = np.array(data)
    print(arr)
    arr.shape
    arr.dtype
    arr.ndim
    

    zeros

    np.zeros(10)
    np.zeros((3,4))
    

    empty 未初始化的数组

    np.empty((2,2,3))
    np.empty((2,2,3),int)
    

    ones

    np.ones((2,3))
    np.ones((2,3),int)
    

    arange

    np.arange(10)
    

    生成数组时指定数据类型

    arr = np.array([1,2,3],dtype = np.int32)
    arr = np.array([1,2,3],dtype = np.float32)
    print(arr)
    

    astype

    int_arr = np.array([1,2,3,4,5])
    int_arr.dtype
    float_arr = int_arr.astype(dtype = np.float32 )
    float_arr.dtype
    

    假如是有浮点型向整形转换 小数部分会被舍弃

    float_arr = np.array([2.2,3.3,4.4,5.5])
    int_arr = float_arr.astype(dtype = np.int)
    print(float_arr)
    

    把字符串序列转化为数组

    str_arr = np.array(['1.1','2.2','3.3','4.4'],dtype = np.string_)
    str_arr
    float_arr = str_arr.astype(dtype = np.float32)
    print(float_arr)
    print(float_arr.dtype)
    

    把其他数组的数据类型作为astype的参数

    int_arr = np.arange(10)
    float_arr2 = int_arr.astype(float_arr.dtype)
    print(float_arr2)
    print(float_arr2.dtype)
    

    数组和标量之间的运算

    大小相等的数组之间的任何算术运算都会将运算应用到元素级

    数组与标量的算术运算也会将那个标量值传播到各个元素

    arr = np.array([[1,2,3],[4,5,6]])
    arr.shape
    print(arr)
    print(arr*arr)
    print(arr+arr)
    print(arr-arr)
    print(arr*3)
    print(1/arr)
    print(arr**0.5)
    

    相关文章

      网友评论

        本文标题:NumPy--ndarray 的创建和各种数据类型

        本文链接:https://www.haomeiwen.com/subject/irpyjxtx.html