Python数据分析

Python数据分析 知识量:13 - 56 - 232

2.7 选取多维数组><

选取某行元素- 2.7.1 -

多维数组具有更多维数,选取元素时需要指明各维度的位置。对于二维数组而言,其具有多行多列,选取数据时需要明确是哪行那列。

选择某行元素时,指明行的位置即可:

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]]

选取某列元素- 2.7.2 -

选取某列元素时,需要指明列的位置。特别需要注意的是:总是需要先指出行的位置。如果只是关注选取哪些列(默认选取该列所有行),则行位置使用冒号来表明全部选取,且不能省略。

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]]

选取行列元素- 2.7.3 -

选取行列元素,即某“块”数组元素时,只需要指明行列即可。

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个值时,返回的是元素值。