[英]python pandas how to use function with math use apply and lambda
[英]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)
如果你想要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.