簡體   English   中英

如何在 Python 中使用數學 function

[英]How to use math function in Python

如何執行這段代碼:

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

先感謝您。

所以這是因為math.cos不接受大於大小 1 的 numpy arrays。這就是為什么如果你有一個大小為 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 模塊,可以嘗試遍歷數組並將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

您正在尋找這樣的東西嗎?

import numpy as np 
import math 
x = np.arange(1,9, 0.5) 
for ang in x:
    k = math.cos(ang) 
    print(k)

您正在嘗試將 ndarray(由arange返回)傳遞給 function,它只需要實數。 請改用np.cos

如果你想要pure-Python

您可以在map中使用math.fun ,如下所示:

import math
x = range(1,9)
print(list(map(math.cos, x)))

Output:

[0.5403023058681398, -0.4161468365471424, -0.9899924966004454, -0.6536436208636119, 0.2836621854632263, 0.9601702866503661, 0.7539022543433046, -0.14550003380861354]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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