# -*- coding: utf-8 -*-
"""
Created on Sun May 19 14:50:58 2019
@author: User
"""
import numpy as np
b = np.arange(24).reshape(2, 3, 4)
print(b[:])
print('\n0---------------------\n')
print(b[b >= 5])
print(b[~(b >= 15)])
print('注意and or 在布尔数组中无效:')
print(b[(b >= 5) & (b <= 15)])
print('创建一个布尔数组,将其用于对数组b的布尔型索引。(0层false,1层true,只显示第一层):')
b_bool1 = np.array([False, True], dtype = bool)
print(b[b_bool1])
print('\n1---------------------\n')
print('False, True, True 即0行不显示,1、2行显示:')
b_bool2 = np.array([False, True, True], dtype = bool)
print(b[b_bool1, b_bool2])
print('\n2---------------------\n')
b_bool3 = np.array([False, True, True, False], dtype = bool)
print(b[b_bool1, b_bool2, b_bool3])
运行:
runfile('D:/0python/3.1.2.1numpy数组_逻辑索引.py', wdir='D:/0python')
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
0---------------------
[ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
注意and or 在布尔数组中无效:
[ 5 6 7 8 9 10 11 12 13 14 15]
创建一个布尔数组,将其用于对数组b的布尔型索引。(0层false,1层true,只显示第一层):
[[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
1---------------------
False, True, True 即0行不显示,1、2行显示:
[[16 17 18 19]
[20 21 22 23]]
2---------------------
[17 22]