• 【Python】np.expand_dims()理解及实践


    1.概念:根据英文,可以简单理解为扩展数组的shape。

    2.理解:shape如何改变?数组内如何改变?

    1. import numpy as np
    2. a = np.array([[[1,2,3],[4,5,6]]])
    3. print(a.shape)
    4. 输出:
    5. (1,2,3) # 1维,2行,3列
    6. # 元组的形状代表什么?
    7. # 每个索引处的整数表明相应维度拥有的元素数量。

    2.1 shape如何改变?

    • np.expand_dims(a, axis =  0 )   #在0位置添加数据
    • np.expand_dims(a, axis =  1 )   #在1位置添加数据
    • np.expand_dims(a, axis =  2 )   #在2位置添加数据
    • np.expand_dims(a, axis =  3 )   #在3位置添加数据
    • np.expand_dims(a, axis = -1 )   #在末位置添加数据
    1. import numpy as np
    2. a = np.array([[[1,2,3],[4,5,6]]])
    3. print(a.shape)
    4. #输出:(1,2,3)
    5. # 1维 2行 3列
    6. ######################################################
    7. b = np.expand_dim(a, axis = 0)
    8. print(b.shape)
    9. #输出:(1,1,2,3)
    10. # ⚪
    11. # 在0位置添加数据
    12. ######################################################
    13. b = np.expand_dim(a, axis = 1)
    14. print(b.shape)
    15. #输出:(1,1,2,3)
    16. # ⚪
    17. # 在1位置添加数据
    18. ######################################################
    19. b = np.expand_dim(a, axis = 2)
    20. print(b.shape)
    21. #输出:(1,2,1,3)
    22. # ⚪
    23. # 在2位置添加数据
    24. ######################################################
    25. b = np.expand_dim(a, axis = 3)
    26. print(b.shape)
    27. #输出:(1,2,3,1)
    28. # ⚪
    29. # 在3位置添加数据
    30. ######################################################
    31. b = np.expand_dim(a, axis = -1)
    32. print(b.shape)
    33. #输出:(1,2,3,1)
    34. # ⚪
    35. # 在最后位置添加数据
    36. # 在(1,2,3)中插入的位置总共为4个,再添加就会出现警告,要不然也会在后面某一处提示AxisError。

    2.2 数组内如何改变?

    • np.expand_dims(a, axis =  0 )   #中括号就会加在最前面的值,生成一个 [a]
    • np.expand_dims(a, axis =  1 )   #中括号就会加在第1个(最后)的每个值上
    • np.expand_dims(a, axis =  2 )   #中括号就会加在第2个(最后)的每个值上
    • np.expand_dims(a, axis =  3 )   #中括号就会加在第3个(最后)的每个值上
    • np.expand_dims(a, axis = -1 )   #中括号就会加在第3个(最后)的每个值上
    1. import numpy as np
    2. a = np.array([[[1,2,3],[4,5,6]]])
    3. print(a.shape)
    4. #输出:(1,2,3)
    5. # 1维 2行 3列
    6. ######################################################
    7. b = np.expand_dim(a, axis = 0)
    8. print b
    9. #输出:[ [[[1,2,3],[4,5,6]]] ]
    10. # · ·
    11. # 中括号就会加在最前面的值,生成一个 [a]
    12. ######################################################
    13. b = np.expand_dim(a, axis = 1)
    14. print b
    15. #输出:[[ [ [1,2,3] ],[ [4,5,6] ] ]]
    16. # · · · ·
    17. # 中括号就会加在第二个(最后)的每个值上
    18. ######################################################
    19. b = np.expand_dim(a, axis = 2)
    20. print b
    21. #输出:[[ [ [1,2,3] ], [ [4,5,6] ]]]
    22. # · · · ·
    23. # 中括号就会加在第三个(最后)的每个值上
    24. ######################################################
    25. b = np.expand_dim(a, axis = 3)
    26. print b
    27. #输出:[[[ [1],[2],[3] ],[ [4],[5],[6] ]]]
    28. # · · · · · ·
    29. # 中括号就会加在第四个(最后)的每个值上,(也就是给所有数字都加了一个中括号)
    30. ######################################################
    31. b = np.expand_dim(a, axis = -1)
    32. print b
    33. #输出:[[[ [1],[2],[3] ],[ [4],[5],[6] ]]]
    34. # · · · · · ·
    35. # 中括号就会加在第四个(最后)的每个值上,(也就是给所有数字都加了一个中括号)
    36. # 在(1,2,3)中插入的位置总共为4个,再添加就会出现警告,要不然也会在后面某一处提示AxisError。

  • 相关阅读:
    C# 变量
    SQL语言---数据更新
    LeetCode-N 皇后(C++)
    android adb读写权限单独控制
    【转】DNS隧道检测特征
    Python 集合13 update()方法—更新为并集
    【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)
    基于微信小程序的校园信息共享平台 毕业设计-附源码211615
    spring boot使用自定义过滤器实现接口认证
    Java版 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计
  • 原文地址:https://blog.csdn.net/MengYa_Dream/article/details/126743762