Python数据分析 知识量:13 - 56 - 232
多维数组具有更多维数,选取元素时需要指明各维度的位置。对于二维数组而言,其具有多行多列,选取数据时需要明确是哪行那列。
选择某行元素时,指明行的位置即可:
import numpy as np arr=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(arr) print(arr[1]) # 选择第2行元素
运行结果为:
[[1 2 3] [4 5 6] [7 8 9]] [4 5 6]
与一维数组一样,可以通过省略开始或结束下标的方法(同样注意:左闭右开),选择某行之前或之后的元素:
import numpy as np arr=np.array([[1,2,3],[4,5,6],[7,8,9]]) print("arr:\n",arr) print("arr[:1]:\n",arr[:1]) print("arr[1:]:\n",arr[1:])
运行结果为:
arr: [[1 2 3] [4 5 6] [7 8 9]] arr[:1]: [[1 2 3]] arr[1:]: [[4 5 6] [7 8 9]]
选取某列元素时,需要指明列的位置。特别需要注意的是:总是需要先指出行的位置。如果只是关注选取哪些列(默认选取该列所有行),则行位置使用冒号来表明全部选取,且不能省略。
import numpy as np arr=np.array([[1,2,3],[4,5,6],[7,8,9]]) print("arr:\n",arr) print("arr[:,1]:\n",arr[:,1]) # 选取第2列 print("arr[:,1:3]:\n",arr[:,1:3]) # 选取第2-3列
运行结果为:
arr: [[1 2 3] [4 5 6] [7 8 9]] arr[:,1]: [2 5 8] arr[:,1:3]: [[2 3] [5 6] [8 9]]
选取行列元素,即某“块”数组元素时,只需要指明行列即可。
import numpy as np arr=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(arr) print(arr[1,1]) # 实际选取的是单个元素 print(type(arr[1,1])) # 打印arr[1,1]的类型 print(arr[1,1:3]) print(type(arr[1,1:3])) # 打印arr[1,1:3]的类型
运行结果为:
[[1 2 3] [4 5 6] [7 8 9]] 5 <class 'numpy.int32'> [5 6] <class 'numpy.ndarray'>
如上所示,当选取的行列是多个值时,返回的仍是数组;如果选取的实际是1个值时,返回的是元素值。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6