gpt4 book ai didi

python - 按列对两个不同维度的 numpy 数组进行交集

转载 作者:太空狗 更新时间:2023-10-30 00:02:09 25 4
gpt4 key购买 nike

我有两个不同的 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]]

第二个数组只是一维的,看起来像(前十个点):

[ 18.03921569  17.64705882  17.25490196  17.25490196  17.64705882
17.64705882 17.25490196 17.64705882 21.17647059 22.35294118]

来自第二个(一维)数组的值可以出现在第一个(二维)数组的第一列中。 F.e. 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)

您可以使用此掩码获取遇到的值:

a[:, 0][mask]
#array([ 17.64705882, 21.17647059])

关于python - 按列对两个不同维度的 numpy 数组进行交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34936754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com