numpy 配列があり、それをスカラーで乗算しようとしていますが、エラーがスローされ続けます。
TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'int'
私のコードは次のとおりです。
Flux140 = ['0.958900', 'null', '0.534400']
n = Flux140*3
問題は、配列dtype
が文字列であり、numpy が文字列を整数で乗算する方法を認識していないことです。リストの場合、リストを 3 回繰り返すことになりますが、代わりに配列を使用するとエラーが発生します。
メソッドdtype
を使用して、配列を文字列から浮動小数点数に変換してみてください。astype
あなたの場合、値に問題があるため、最初に別のものに'null'
変換する必要があります。'null'
Flux140[Flux140 == 'null'] = '-1'
次に、タイプをフロートにすることができます:
Flux140 = Flux140.astype(float)
あなた'null'
が何か他のものになりたい場合は、最初にそれを変更することができます:
Flux140[Flux140 == -1] = np.nan
これで乗算できます:
tripled = Flux140 * 3