Мне нужно создать массив строк, на самом деле это значение цвета, для каждого значения в другом массиве.Логика заключается в том, что для положительных значений должен быть один цвет, а для отрицательных - другой цвет.
Я пробовал этот фрагмент кода:
values = np.array([1, 2, -3, 4, 5])
color_values = np.array(['rgb(74,159,234)'] * len(values))
color_values[values < 0] = 'rgb(120,183,239)'
print(color_values)
Но проблема в том, что новые строковые значения усекаютсяна длину предыдущего значения в массиве, поэтому результат:
['rgb(74,159,234)', 'rgb(74,159,234)', 'rgb(120,183,239', 'rgb(74,159,234)', 'rgb(74,159,234)']
Третье значение изменено, но без последнего паретеза.Я могу переписать код для достижения необходимого результата, но теперь мне интересно, почему это происходит.
Я использую Python 3.6
, numpy 1.14.2