我有一个特定值的numpy数组([5,6,7,8,10,11,12,14]);我想将每个值标记为:
'N',如果值小于或等于10
'Y'
我的输出将是一个具有以下值的数组/列表: ['N','N','N','N','N','Y','Y','Y']
我是python的新手,立即需要一个项目的解决方案。请帮助我。请不要给我负面意见,因为我再也不能问其他问题了。
答案 0 :(得分:1)
有很多方法可以做到这一点。以下是一些选项:
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']
您也可以使用map
或其他方式:)
答案 1 :(得分:0)