[英]How to multiply a numpy array by a scalar
我有一個numpy數組,我試圖將它乘以標量,但它不斷拋出錯誤:
TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'int'
我的代碼是:
Flux140 = ['0.958900', 'null', '0.534400']
n = Flux140*3
問題是你的數組的dtype
是一個字符串,numpy不知道你想如何將一個字符串乘以一個整數。 如果它是一個列表,你將重復列表三次,但是一個數組會給你一個錯誤。
嘗試使用astype
方法將數組的dtype
從string轉換為float。 在您的情況下,您的'null'
值會有問題,因此您必須先將'null'
轉換為其他值:
Flux140[Flux140 == 'null'] = '-1'
然后你可以使類型浮動:
Flux140 = Flux140.astype(float)
如果你想讓'null'
成為別的東西,你可以先改變它:
Flux140[Flux140 == -1] = np.nan
現在你可以繁殖:
tripled = Flux140 * 3
這是一個字符串數組。 你想要一組數字。 在制作數組之前使用float
或其他東西解析輸入。 (如何處理'null'
取決於你的申請。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.