使用超过2个参数,基于其他数组的值切片numpy数组

时间:2016-01-28 09:04:48

标签: python arrays numpy where

这是我目前的代码:

a = np.array(['apples', 'pear', 'oranges', 'grapes', 'apples', 'banana'])
b = np.array([1,2,3,4,5,6])
my_list = ['apples', 'oranges', 'grapes']

如何创建一行返回以下结果的代码:

result = np.array([1,3,4,5])

该方法必须使用my_list作为基于数组a切割数组b的基础。 (无论my_list的长度如何,它都应该有效)

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用np.in1d()进行切片:

In [15]: b[np.in1d(a, my_list)]
Out[15]: array([1, 3, 4, 5])