如何執行此代碼:
import numpy as np
import math
x = np.arange(1,9, 0.5)
k = math.cos(x)
print(x)
我收到這樣的錯誤:
TypeError: only size-1 arrays can be converted to Python scalars
先感謝您。
uj5u.com熱心網友回復:
你正在尋找這樣的東西嗎?
import numpy as np
import math
x = np.arange(1,9, 0.5)
for ang in x:
k = math.cos(ang)
print(k)
uj5u.com熱心網友回復:
您正在嘗試將 ndarray (由 arange 回傳)傳遞給一個函式,該函式只需要實數。請改用np.cos。
uj5u.com熱心網友回復:
所以發生這種情況是因為math.cos不接受大于大小 1 的 numpy 陣列。這就是為什么如果你有一個大小為 1 的 np 陣列,你的方法仍然有效。
實作結果的更簡單方法是np.cos(x)直接使用:
import numpy as np
x = np.arange(1,9, 0.5)
k = np.cos(x)
print(x)
print(k)
如果您必須使用數學模塊,您可以嘗試遍歷陣列并應用于陣列math.cos的每個成員:
import numpy as np
import math
x = np.arange(1,9,0.5)
for item in x:
k = math.cos(item)
print(k) # or add to a new array/list
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443728.html
