Python:根据两个数组中的值创建类别

时间:2015-07-16 20:17:01

标签: python arrays numpy label

说我有两个清单:

arrayA = np.array([3,4,1,2,5,6,8,6,3])
arrayB = np.array([4,2,5,6,1,3,6,5,3])

基本上代表2D中的一个点。

我想获得一个看起来像这样的标签列表:

listLael = [type1,type2,type1,type2,...]

与arrayA和arrayB以及

的长度相同
type1 if arrayA value >= 5 and arrayB value >= 5
type2 if eith arrayA or arrayB value < 5

我知道我可以通过这两个数组获得它但是有没有快速方便的方法用numpy数组做这个?

1 个答案:

答案 0 :(得分:2)

使用numpy.where

>>> np.where((arrayA >= 5) & (arrayB >= 5), 'type1', 'type2')
array(['type2', 'type2', 'type2', 'type2', 'type2', 'type2', 'type1',
       'type1', 'type2'],
      dtype='|S5')