2024-09-27 04:22:47 发布
网友
我有两个长度相同的数组:
x = [2,3,6,100,2,3,5,8,100,100,5] y = [2,3,4,5,5,5,2,1,0,2,4]
我这样选择了x==100的位置:
当x==100时,y的值怎么可能?(即y=5,0,2)? 我试着这样做:
x100=np.where(x==100) y100=y[x100]
但它没有给我想要的价值观。我怎样才能解决这个问题?你知道吗
x和y应该是numpy数组:
x = np.array([2,3,6,100,2,3,5,8,100,100,5]) y = np.array([2,3,4,5,5,5,2,1,0,2,4])
那么你的代码应该像你期望的那样工作。你知道吗
那怎么办
[b for (a,b) in zip(x,y) if a==100]
或者
itertools.compress(y, [a==100 for a in x])
当实际使用numpy数组时,代码工作正常。你也可以这样写得更简洁。你知道吗
numpy
>>> import numpy as np >>> x = np.array([2,3,6,100,2,3,5,8,100,100,5]) >>> y = np.array([2,3,4,5,5,5,2,1,0,2,4]) >>> y[x == 100] array([5, 0, 2])
x和y应该是numpy数组:
那么你的代码应该像你期望的那样工作。你知道吗
那怎么办
或者
当实际使用
numpy
数组时,代码工作正常。你也可以这样写得更简洁。你知道吗相关问题 更多 >
编程相关推荐