按顺序指定1和0的数字的numpy数组

时间:2018-08-13 18:33:43

标签: python numpy

预期输出:[1、1、1、1、0、0]

我的方法:

out = [1]*len(positive)
out.extend([0]*len(negative))
out = np.array(out)

我觉得应该有一个更好的方法来生成像这样的numpy数组,而不是这个三步过程。

2 个答案:

答案 0 :(得分:6)

您可以使用numpy.repeat()

>>> np.repeat([1, 0], [4, 2])
array([1, 1, 1, 1, 0, 0])

第一个参数是类似数组的元素,其元素将被重复。第二个参数指定逐元素重复的次数。

答案 1 :(得分:1)

说实话,我认为您的解决方案很好。无需过度复杂化。当然,您可以使用+标记使它更简洁:

out = np.array([1]*4 + [0]*2)

给予...

[1 1 1 1 0 0]