Go Python 2: Index Slicing

本文通过几个具体的代码示例展示了如何使用NumPy进行数组的创建、索引选取、布尔索引及更新等操作。首先创建了一个3x5的数组,并演示了不同方式的索引选取方法;接着使用布尔索引选取特定元素并进行更新;最后展示了如何通过布尔条件选择数组中的元素。

 

code 1:

 1 import numpy as np
 2 
 3 a = np.arange(15).reshape(3,5)
 4 
 5 print('a:')
 6 print(a)
 7 print('a[1,2]:')
 8 print(a[1,2])
 9 print('a[1]:')
10 print(a[1])
11 print('a[1,:]:')
12 print(a[1,:])
13 print('a[1,...]:')
14 print(a[1,...])
15 print('a[1,1:]:')
16 print(a[1,1:])
17 print('a[1,1::]:')
18 print(a[1,1::])
19 print('a[1,:3]:')
20 print(a[1,:3])
21 print('a[1,3:]:')
22 print(a[1,3:])
23 print('a[1,3:3]:')
24 print(a[1,3:3])
25 print('a[1,2:3]:')
26 print(a[1,2:3])
27 print('a[1,1:3]:')
28 print(a[1,1:3])
29 print('a[1:2,1:3]:')
30 print(a[1:2,1:3])

result 1:

 1 a:
 2 [[ 0  1  2  3  4]
 3  [ 5  6  7  8  9]
 4  [10 11 12 13 14]]
 5 a[1,2]:
 6 7
 7 a[1]:
 8 [5 6 7 8 9]
 9 a[1,:]:
10 [5 6 7 8 9]
11 a[1,...]:
12 [5 6 7 8 9]
13 a[1,1:]:
14 [6 7 8 9]
15 a[1,1::]:
16 [6 7 8 9]
17 a[1,:3]:
18 [5 6 7]
19 a[1,3:]:
20 [8 9]
21 a[1,3:3]:
22 []
23 a[1,2:3]:
24 [7]
25 a[1,1:3]:
26 [6 7]
27 a[1:2,1:3]:
28 [[6 7]]

 code 2:

1 import numpy as np
2 
3 a = np.arange(15).reshape(3,5)
4 b = np.array([0,2,4])
5 print('a[np.arange(3),b]:')
6 print(a[np.arange(3),b])
7 a[np.arange(3),b]+=10
8 print('update a:')
9 print(a)

result 2:

1 a[np.arange(3),b]:
2 [ 0  7 14]
3 update a:
4 [[10  1  2  3  4]
5  [ 5  6 17  8  9]
6  [10 11 12 13 24]]

 code 3:

 1 import numpy as np
 2 
 3 a = np.array([[1,2,3],[3,5,3],[8,2,4],[6,9,1]])
 4 bool_idx = (a>4)
 5 
 6 print('bool_idx:')
 7 print(bool_idx)
 8 print('a[bool_idx]:')
 9 print(a[bool_idx])
10 print('a[a>4]:')
11 print(a[a>4])

result 3:

1 bool_idx:
2 [[False False False]
3  [False  True False]
4  [ True False False]
5  [ True  True False]]
6 a[bool_idx]:
7 [5 8 6 9]
8 a[a>4]:
9 [5 8 6 9]

 

转载于:https://www.cnblogs.com/wordchao/p/9172036.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值