numpy学习笔记4-array布尔型索引
import numpy as np
rows = ['row1','row2','row3']
data = np.random.randn(3,6)
data
array([[-0.42141001, 0.96098438, -0.39407262, 0.87403018, -0.59991842,
-0.03887353],
[ 0.75180433, 0.93374571, 0.12514512, 0.03392262, -1.29821731,
0.80870674],
[ 0.48073825, -0.70380976, -0.30283321, 0.05413087, -0.41277585,
1.14253068]])
布尔型数组
rows == 'row1'
array([ True, False, False], dtype=bool)
布尔型数组作为索引
data[rows == row1]
array([[-0.42141001, 0.96098438, -0.39407262, 0.87403018, -0.59991842,
-0.03887353]])
布尔型数组索引与切片一起使用
data[rows == 'row1', 3:]
array([[ 0.87403018, -0.59991842, -0.03887353]])
注意布尔型数组的长度必须与数组的轴长度一致
~符号反转条件
data[~(rows == 'row1')]
array([[ 0.75180433, 0.93374571, 0.12514512, 0.03392262, -1.29821731,
0.80870674],
[ 0.48073825, -0.70380976, -0.30283321, 0.05413087, -0.41277585,
1.14253068]])
通过布尔值设置array元素数值
data[data < 0] = 0
data
array([[ 0. , 0.96098438, 0. , 0.87403018, 0. ,
0. ],
[ 0.75180433, 0.93374571, 0.12514512, 0.03392262, 0. ,
0.80870674],
[ 0.48073825, 0. , 0. , 0.05413087, 0. ,
1.14253068]])
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步