Проблема в том, что ваш массив dtype
является строкой, а numpy не знает, как вы хотите умножить строку на целое число. Если бы это был список, вы бы повторяли список три раза, но массив вместо этого дал вам ошибку.
Попробуйте преобразовать массив dtype
из строки в float, используя метод astype
. В вашем случае, вы будете иметь проблемы с вашими 'null'
значений, так что вы должны сначала преобразовать 'null'
что-то другое:
Flux140[Flux140 == 'null'] = '-1'
Затем вы можете сделать типа поплавка:
Flux140 = Flux140.astype(float)
Если вы хотите, чтобы ваш 'null'
быть что-то еще, вы можете изменить это первое:
Flux140[Flux140 == -1] = np.nan
Теперь вы можете умножить:
tripled = Flux140 * 3
'Flux140' больше похоже на список строк, чем массив numpy. Элементы являются строками и, для правильного синтаксиса python, они пропускают кому между элементами. – user2304916
Это определенно не список строк. Если бы это был список строк, '*' было бы повторением списка. Это похоже на 'print'ed представление массива объектов NumPy. – user2357112
Вы уверены, что используете массив numpy? Похоже, что вы отправляете список, и вместо этого он должен быть массивом numpy. вы можете использовать аргумент 'type', чтобы определить, действительно ли это массив numpy – LeavesBreathe