簡體   English   中英

如何將numpy數組乘以標量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM