1.0一维数组
arr1 = np.arange(0,11)
arr1
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(arr1[0:3:2])
[0 2]
2.0 多维数组
arr2 = np.arange(0,15).reshape(5,3)
arr2
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
# 取单行
arr2[0]
array([0, 1, 2])
# 取连续多行
arr2[0:3]
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
# 取不连续多行
arr2[[0,3,4]]
array([[ 0, 1, 2],
[ 9, 10, 11],
[12, 13, 14]])
# 取单列
arr2[0:5,0]
array([ 0, 3, 6, 9, 12])
arr2[:,2] # 列索引第2列(0,1,2)
array([ 2, 5, 8, 11, 14])
arr2[2,:] # 行索引第二行
array([6, 7, 8])
# 取连续多列
arr2[:,0:2]
array([[ 0, 1],
[ 3, 4],
[ 6, 7],
[ 9, 10],
[12, 13]])
# 取不连续多列
arr2[[1,2],1:3]
array([[4, 5],
[7, 8]])
总结 数组[行索引相关设置,列索引相关设置]
3.0 条件索引
找出数组2中所有的大于5的数值
arr3 = arr2>5
arr3
array([[False, False, False],
[False, False, False],
[ True, True, True],
[ True, True, True],
[ True, True, True]])
arr2[arr3]
array([ 6, 7, 8, 9, 10, 11, 12, 13, 14])
arr2[arr2>5]
array([ 6, 7, 8, 9, 10, 11, 12, 13, 14])
arr2[~(arr2>5)]
array([0, 1, 2, 3, 4, 5])
# 找出大于5的偶数
arr2[(arr2>5) & (arr2%2==0)]
array([ 6, 8, 10, 12, 14])