5.Numpy数组访问
Numpy数组访问:
方法 | 概述 |
---|---|
array([索引]) | 通过指定索引获取指定元素 |
array([:]) | 切片操作 |
array([::step]) | 通过步长获取元素 |
array([(),()]) | 不同行不同列获取元素 |
array([1,1,0],dtype=np.bool) | bool值切片 |
举例:
一维数组,切片,指定索引,步长获取元素:
arr1 = np.array([1, 2, 3, 4, 5, 6])
print(arr1[2])
print(arr1[:3])
print(arr1[::2])
# 结果
3
[1 2 3]
[1 3 5]
二维数组的元素获取:
1.同行同列
arr6 = np.array([[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7]])
print(arr6)
print('---------')
print(arr6[1,1])
print('----------')
print(arr6[::,:2])
print('---------')
print(arr6[1, :4])
# 结果
[[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]]
---------
3
----------
[[1 2]
[2 3]
[3 4]]
---------
[2 3 4 5]
2.不同行不同列
arr6 = np.array([[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7]])
print(arr6)
print(arr6[(0,2),(0,4)])
# 可以看不到 获取到的 是 第0行 第0个元素,和 第2行 第四个元素
[[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]]
[1 7]
bool值切片:
arr6 = np.array([[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7]])
print(arr6)
mask = np.array([1,1,0], dtype=np.bool)
print(mask)
print('---------')
print(arr6[mask, :])
# 结果 可以看到 我们 转化完 为T T F,也拿到了 第0行 第1行 的数据
[[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]]
---------
[ True True False]
---------
[[1 2 3 4 5]
[2 3 4 5 6]]