如何根据值标记numpy数组?

如何根据值标记numpy数组?,numpy,Numpy,我有一个特定值的numpy数组[5,6,7,8,10,11,12,14];我希望将每个值标记为: 如果值小于或等于10,则为“N” 如果值大于10,则为“Y” 我的输出将是具有以下值的数组/列表: [N'、'N'、'N'、'N'、'N'、'Y'、'Y'、'Y'] 我是python新手,急需一个项目的解决方案。请帮帮我。请不要给出否定的观点,因为我不能再问任何问题了。有很多方法可以做到这一点。以下是一些选项: In [1]: import numpy In [2]: x = numpy.arra

我有一个特定值的numpy数组[5,6,7,8,10,11,12,14];我希望将每个值标记为:

如果值小于或等于10,则为“N”

如果值大于10,则为“Y”

我的输出将是具有以下值的数组/列表: [N'、'N'、'N'、'N'、'N'、'Y'、'Y'、'Y']


我是python新手,急需一个项目的解决方案。请帮帮我。请不要给出否定的观点,因为我不能再问任何问题了。

有很多方法可以做到这一点。以下是一些选项:

In [1]: import numpy

In [2]: x = numpy.array([5,6,7,8,10,11,12,14])

In [3]: x
Out[3]: array([ 5,  6,  7,  8, 10, 11, 12, 14])

In [4]: x > 10
Out[4]: array([False, False, False, False, False,  True,  True,  True], dtype=bool)

In [5]: ['Y' if y > 10 else 'N' for y in x]
Out[5]: ['N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y']

In [6]: [{True: 'Y', False: 'N'}[y] for y in x > 10]
Out[6]: ['N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y']
当然,你也可以使用地图或其他东西:

对于回路iter,tmp列表; tmp列表中循环的每个元素将通过以下条件进行判断。。。首先,如果。。。然后在列表创建的新列表中输出“Y”。 不匹配,如果。。。然后在列表创建的新列表中输出“N”。