• 3、NumPy 数组属性


    1、秩、维度

    NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

    在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

    很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作

    2、Numpy的数组中比较重要的属性

    属性说明
    ndarray.ndim 秩,即轴的数量或维度的数量
    ndarray.shape 数组的维度,对于矩阵,n 行 m 列
    ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
    ndarray.dtype ndarray 对象的元素类型
    ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
    ndarray.flags ndarray 对象的内存信息
    ndarray.real ndarray元素的实部
    ndarray.imag ndarray 元素的虚部
    ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

    实例:

     1 import numpy as np
     2 # numpy.arange(start, stop, step, dtype) 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型
     3 a = np.arange(6, dtype=np.int8)
     4 # ndarray.ndim 用于返回数组的维数,等于秩
     5 print('a的维数:', a.ndim)
     6 # 调整其大小
     7 b = a.reshape(2, 3)
     8 print('b的维数:', b.ndim)
     9 #ndarray.shape 返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。代表每个每个维度的长度
    10 print('b.shape:', b.shape)
    11 # ndarray.size数组元素的总个数
    12 print('数组b元素总数:',b.size)
    13 #ndarray.itemsize 以字节的形式返回数组中每一个元素的大小。
    14 x = np.array([1, 2, 3, 4, 5], dtype=int)
    15 print('a的元素字节大小:{},x的元素的字节大小:{}'.format(a.itemsize, x.itemsize))

    输出:

    a的维数: 1
    b的维数: 2
    b.shape: (2, 3)
    数组b元素总数: 6
    a的元素字节大小:1,x的元素的字节大小:4

    ndarray.flags

    ndarray.flags 返回 ndarray 对象的内存信息,包含以下属性:

    属性描述
    C_CONTIGUOUS (C) 数据是在一个单一的C风格的连续段中
    F_CONTIGUOUS (F) 数据是在一个单一的Fortran风格的连续段中
    OWNDATA (O) 数组拥有它所使用的内存或从另一个对象中借用它
    WRITEABLE (W) 数据区域可以被写入,将该值设置为 False,则数据为只读
    ALIGNED (A) 数据和所有元素都适当地对齐到硬件上
    UPDATEIFCOPY (U) 这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新

    1

  • 相关阅读:
    Java核心技术 卷一 笔记四 库类的直接使用
    Java核心技术 卷一 笔记三 大数值及数组
    Java核心技术 卷一 笔记2 字符串的复制
    Java核心技术 卷一 笔记1
    修改css 样式后, hover事件 不生效
    修改 element ui input 输入框 样式不生效问题
    css3 计算属性
    Vue3 改动系列
    浏览器实现,向下滑动 鼠标滚轮,页面横向移动
    linux ceont0s7 vue 打包压缩图片 一直报错
  • 原文地址:https://www.cnblogs.com/weststar/p/11558494.html
Copyright © 2020-2023  润新知