当前位置:主页 > 查看内容

用NumPy获取数组的值、分片以及改变数组的维度

发布时间:2021-07-22 00:00| 位朋友查看

简介:1. 获取数组值和数组的分片 NumPy数组也指出与Python列表相同的操作,例如,通过索引获得数组值,分片等。 下面的例子演示了如何通过索引获得NumPy数组的值,以及对NumPy数组使用分片操作。 from numpyimport* #定义一个二维的NumPy数组 a=array([[1,2,3],[4……

1. 获取数组值和数组的分片

NumPy数组也指出与Python列表相同的操作,例如,通过索引获得数组值,分片等。

下面的例子演示了如何通过索引获得NumPy数组的值,以及对NumPy数组使用分片操作。

  1. from numpy import * 
  2. # 定义一个二维的NumPy数组 
  3. a = array([[1,2,3],[4,5,6],[7,8,9]]) 
  4. # 输出数组a的第1行第1列的值,运行结果:1 
  5. print(a[0,0]) 
  6. # 运行结果:a[0,1] = 2, a[2,1] = 8 
  7. print("a[0,1] = {}, a[2,1] = {}".format(a[0,1],a[2,1])) 
  8. # 分片操作,将3*3的二维数组变成1*3的二维数组,运行结果:[[1 2 3]] 
  9. print(a[0:1]) 
  10. # 分片操作,获取1*3的二维数组的第1行的值,运行结果:[1 2 3] 
  11. print(a[0:1][0]) 
  12. # 分片操作,将3*3二维数组变成2*3的二维数组 
  13. print(a[0:2]) 
  14. b = a[0:] 
  15. # 分片操作,b与a的值是相同的 
  16. print(a) 
  17. # 分片操作,步长是2 
  18. print(a[0::2]) 
  19. # 与a[0:2]的结果相同 
  20. print(a[-3:-1]) 

程序运行结果如图1所示。

图1 数组的索引和分片操作

2. 改变数组的维度

处理数组的一项重要工作就是改变数组的维度,包括提高数组的维度和降低数组的维度,还包括数组的转置。NumPy提供大量的API可以很轻松地完成这些数组的操作。例如,通过reshape方法可以将一维数组变成二维、三维或者多为数组。通过ravel方法或flatten方法可以将多维数组变成一维数组。改变数组的维度还可以直接设置NumPy数组的shape属性(元组类型),通过resize方法也可以改变数组的维度。通过transpose方法可以对数组进行转置。本节将介绍NumPy中与数组维度相关的常用API的使用方法。

下面的例子演示了如何利用NumPy中的API对数组进行维度操作。

  1. from numpy import * 
  2. b = arange(24).reshape(2,3,4) 
  3. # 将一维数组变成三维数组 
  4. print(b) 
  5. print('------------------'
  6. # 将三维数组变成一维数组 
  7. b1 = b.ravel() 
  8. print(b1) 
  9. print('------------------'
  10. # 将三维数组变成一维数组 
  11. b2 = b.flatten() 
  12. print(b2) 
  13. print('------------------'
  14.  # 将三维数组变成二维数组(6行4列) 
  15. b.shape = (6,4) 
  16. print(b) 
  17. print('------------------'
  18. # 数组转置 
  19. b3 = b.transpose() 
  20. print(b3) 
  21. print('------------------'
  22. # 将三维数组变成二维数组(2行12列) 
  23. b.resize((2,12)) 
  24. print(b) 

程序运行结果如图2所示。

图2 改变数组的维度

本文转载自微信公众号「极客起源」,可以通过以下二维码关注。转载本文请联系极客起源公众号


本文转载自网络,原文链接:https://mp.weixin.qq.com/s/TI2jWNtKQNaYp6c7UY5-FQ
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐