我正在使用 numba 来制作一些包含 numpy 数组循环的函数。
一切都很好,花花公子,我可以使用jit并且我学会了如何定义签名。
现在我尝试在带有可选参数的函数上使用 jit,例如:
from numba import jit
import numpy as np
@jit(['float64(float64, float64)', 'float64(float64, optional(float))'])
def fun(a, b=3):
return a + b
Run Code Online (Sandbox Code Playgroud)
这有效,但如果不是optional(float)我使用optional(float64)它,则无效(与int或相同int64)。我花了 1 个小时试图弄清楚这个语法(实际上,我的一个朋友偶然发现了这个解决方案,因为他忘记64在浮动之后写),但是,为了我的爱,我不明白为什么会这样。我在互联网上找不到任何东西,而且 numba 关于该主题的文档充其量是稀缺的(并且他们指定optional应该采用 numba 类型)。
有谁知道这是如何工作的?我错过了什么?
我需要创建一个包含一系列数据帧数组中的元组的数据帧。我需要的是以下内容:
我有数据框a和b:
a = pd.DataFrame(np.array([[1, 2],[3, 4]]), columns=['one', 'two'])
b = pd.DataFrame(np.array([[5, 6],[7, 8]]), columns=['one', 'two'])
a:
one two
0 1 2
1 3 4
b:
one two
0 5 6
1 7 8
Run Code Online (Sandbox Code Playgroud)
我想创建一个数据框a_b,其中每个元素都是由 a 和 b 中相应元素形成的元组,即
a_b = pd.DataFrame([[(1, 5), (2, 6)],[(3, 7), (4, 8)]], columns=['one', 'two'])
a_b:
one two
0 (1, 5) (2, 6)
1 (3, 7) (4, 8)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想使用任意数量的数据帧来执行此操作。我希望有一种比使用 for 循环更优雅的方法我正在使用 python 3