• [Numpy] 数组属性


     美图欣赏2022/07/26

    导入numpy数据包

    1. # 引入Numpy库
    2. import numpy as np

    1.数组维度数查询

    ndarray.ndmin查询数组的维度 

    1. import numpy as np
    2. # 数组维度
    3. ## 维度为1
    4. arr1 = np.array([1,2,3])
    5. arr1.ndim # 1
    6. ## 维度为2
    7. arr2 = np.array([[1,2,3],[4,5,6]])
    8. arr2.ndim # 2
    9. ## 维度为3
    10. arr3 = np.array([
    11. [[1,2,3],[4,5,6]],
    12. [[7,8,9],[10,11,12]]
    13. ])
    14. arr3.ndim # 3

    2.数组形状查询  

    ndarray.shape查询数组的形状(几行几列),返回值是一个元组,里面有几个元素代表是几维数组

    1. import numpy as np
    2. arr1 = np.array([1,2,3])
    3. arr1.shape # (3,)
    4. arr2 = np.array([[1,2,3],[4,5,6]])
    5. arr2.shape # (2,3)
    6. arr3 = np.array([
    7. [[1,2,3],[4,5,6]],
    8. [[7,8,9],[10,11,12]]
    9. ])
    10. arr3.shape # (2,2,3)

    ndarray.shape也可以改变数组形状

    1. import numpy as np
    2. arr4 = np.array([[1,2,3],[4,5,6]])
    3. arr4.shape = (3,2)

    arr4

    arr4(处理后) 

    3.修改数组形状 

    .reshape函数可以改变原数组的形状,创建一个新数组,改变新数组的元素,原数组对应元素的值也会发生改变 

    1. # NumPy提供了.reshape函数来调整数组大小形状
    2. import numpy as np
    3. data = np.array([[1,2,3],[4,5,6]]) # array([[1, 2, 3],
    4. # [4, 5, 6]])
    5. data.shape # (2,3)
    6. arr = data.reshape(6,) # array([1, 2, 3, 4, 5, 6])
    7. arr.shape # (6,)
    8. arr[0] = 437
    9. arr # array([437, 2, 3, 4, 5, 6])
    10. data # array([[437, 2, 3],
    11. # [ 4, 5, 6]])

    .flatten函数可实现扁平化(多维数组转化为一维数组)  

    1. import numpy as np
    2. arr = np.array([
    3. [[1,2,3],[4,5,6]],
    4. [[7,8,9],[10,11,12]]
    5. ])
    6. arr.ndim # 3
    7. deal_arr = arr.flatten() # array([1,2,3,4,5,6,7,8,9,10,11,12])
    8. deal_arr.ndim # 1

    4.数组元素个数与所占内存查询 

    ndarray.size查询数组元素个数

    ndarray.itemsize查询数组中每个元素所占内存的大小(以字节为单位)

    1. import numpy as np
    2. arr = np.array([
    3. [[1,2,3],[4,5,6]],
    4. [[7,8,9],[10,11,12]]
    5. ])
    6. # 数组的元素个数
    7. arr.size # 12
    8. # 各元素所占内存
    9. arr.itemsize # 4
    10. # 各元素的数据类型
    11. arr.dtype # dtype('int32')
    12. # 数组所占内存
    13. arr.itemsize * arr.size # 48
    14. # 数组的dtype为int8(一个字节)
    15. data1 = np.array([1,2,3,4,5], dtype = np.int8)
    16. data1.itemsize # 1
    17. # 数组的dtype现在为float64(八个字节)
    18. data2 = np.array([1,2,3,4,5], dtype = np.float64)
    19. data2.itemsize # 8

    5.元素数据类型查询

    ndarray.dtype用于返回ndarray对象的元素类型 

    1. import numpy as np
    2. arr1 = np.array([[1,2,3],[4,5,6]])
    3. arr1.dtype # dtype('int32')
    4. arr2 = np.array([1.2, 2.3, 3.4])
    5. arr2.dtype # dtype('float64')
  • 相关阅读:
    Mysql之存储引擎
    B. 01 Game【模拟】
    9.25 校招 实习 内推 面经
    程序员必看内容连续集之 SpringBoot03 SSM整合SpringBoot
    JavaScript 循环遍历对象案例
    Rocketmq学习3——消息发送原理源码浅析
    想了一个月都不知道如何开始做自媒体
    java基于ssm+vue+elementui的宠物医院挂号管理系统
    Prometheus|云原生|grafana的admin用户密码重置备忘记录
    【tls招新web部分题解】
  • 原文地址:https://blog.csdn.net/Hudas/article/details/125977855