美文网首页大数据 爬虫Python AI Sql
numpy学习3:对象属性和基本数据类型

numpy学习3:对象属性和基本数据类型

作者: 程序员欧阳 | 来源:发表于2018-09-24 15:35 被阅读29次

    一、ndarray对象属性

    ndim 数组轴(维度)的个数,轴的个数被称作秩

    shape 数组的维度, 例如一个2排3列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性

    size 数组元素的总个数,等于shape属性中元组元素的乘积。

    dtype一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。不过NumPy提供它自己的数据类型。

    itemsize 数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).

    a = np.array([[1,2,3],[4,5,6]])
    print("维度的数量:",a.ndim)
    print("数组元素类型:",a.dtype)
    print("数组的元素个数:",a.size)
    print("数组的形状:",a.shape)
    print("数组中每个元素的字节大小:",a.itemsize)
    

    输出:
    维度的数量: 2
    数组元素类型: int32
    数组的元素个数: 6
    数组的形状: (2, 3)
    数组中每个元素的字节大小: 4

    二、numpy中的基本数据类型

    下面的这两张图是所有的数据类型:


    1.jpg 2.jpg

    创建numpy数组的时候可以通过属性dtype显示指定数据类型,如果不指定的情况下,numpy会自动推断出适合的数据类型,所以一般不需要显示给定数据类型。

    • 指定类型创建:
    a = np.array([[1,2,3],[4,5,6]],dtype=int)
    
    • astype方法
      如果需要更改一个已经存在的数组的数据类型,可以通过astype方法进行修改从而得到一个新数组。
    a = np.array([[1,2,3],[4,5,6]])
    print("改变前的类型:",a.dtype)
    a = a.astype(float)
    print("改变后的类型:",a.dtype)
    

    输出
    改变前的类型: int32
    改变后的类型: float64

    三、修改ndarray的形状

    对于一个已经存在的ndarray数组对象而言,可以通过修改形状相关的参数方法从而改变数组的形状。

    • 直接修改数组ndarray的shape值, 要求修改后乘积不变。
    • 直接使用reshape函数创建一个改变尺寸的新数组,原数组的shape保持不变,但是新数组和原数组共享一个内存空间,也就是修改任何一个数组中的值都会对另外一个产生影响,另外要求新数组的元素个数和原数组一致。

    当指定某一个轴为-1的时候,表示将根据数组元素的数量自动计算该轴的长度值。

    • 修改数组的shape值
    #调整数组大小
    a = np.array([[1,2,3],[4,5,6]])
    a.shape=(3,2)
    print(a)
    
    • 使用reshape函数修改
    '''
        reshape 调整数组大小
    '''
    a = np.array([[1,2,3],[4,5,6]])
    b = a.reshape(3,2)
    print(b)
    

    输出:
    [[1 2]
    [3 4]
    [5 6]]

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:cplus人工智能算法后端技术,获取优质学习资源。

    相关文章

      网友评论

        本文标题:numpy学习3:对象属性和基本数据类型

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