x4k*_*k3p 6 python arrays axis numpy intersection
我给出了两个不同的numpy数组.第一个是二维数组,看起来像(前十点):
[[ 0. 0. ]
[ 12.54901961 18.03921569]
[ 13.7254902 17.64705882]
[ 14.11764706 17.25490196]
[ 14.90196078 17.25490196]
[ 14.50980392 17.64705882]
[ 14.11764706 17.64705882]
[ 14.50980392 17.25490196]
[ 17.64705882 18.03921569]
[ 21.17647059 34.11764706]]
Run Code Online (Sandbox Code Playgroud)
第二个数组只是一维的,看起来像(前十点):
[ 18.03921569 17.64705882 17.25490196 17.25490196 17.64705882
17.64705882 17.25490196 17.64705882 21.17647059 22.35294118]
Run Code Online (Sandbox Code Playgroud)
第二个(一维)数组中的值可能出现在第一列中的第一个(二维)数组中.Fe 17.64705882
我想从二维数组中获取一个数组,其中第一列的值与第二个(一维)数组中的值匹配.怎么做?
您可以使用np.in1d(array1, array2)搜索array1每个值array2.在您的情况下,您只需要获取第一个数组的第一列:
mask = np.in1d(a[:, 0], b)
#array([False, False, False, False, False, False, False, False, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
您可以使用此掩码来获取遇到的值:
a[:, 0][mask]
#array([ 17.64705882, 21.17647059])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |