numpy数组如何通过逻辑判断(不相关的数组)取出目标元素,举例X=X[y!=0]

前提:是数组,即查询的type结果为numpy.ndarray。列表不行

X和y赋值,X的行数需要同y元素个数相同

X = np.arange(0,32).reshape(8,4)
print(type(X))
print(X)
y=np.arange(0,8)
print(y)

结果

<class 'numpy.ndarray'>
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]
 [24 25 26 27]
 [28 29 30 31]]
[0 1 2 3 4 5 6 7]

想要实现联动X和y,取出需要的y数据同时,也取出对应位置的X的数据
y的条件是取出y>4的数据

y1=y[y>4]
print('y>4的数据',y1)

结果

y>4的数据 [5 6 7]
判断y大于4的布尔结果 [False False False False False  True  True  True]

利用上述结果,对X数组使用逻辑判断,即可取出布尔值为True对应的X的数据

X1=X[y>4]
print('输出对应y>4的X数组中的数据',X1)

结果

输出对应y>4的X数组中的数据
 [[20 21 22 23]
 [24 25 26 27]
 [28 29 30 31]]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值