小编gio*_*nni的帖子

Numba:使用具有默认值的参数调用带有显式签名的 jit

我正在使用 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 类型)。

有谁知道这是如何工作的?我错过了什么?

python jit types numba

7
推荐指数
1
解决办法
2706
查看次数

创建 pandas 数据框,其中每个元素都是从其他数据框创建的元组

我需要创建一个包含一系列数据帧数组中的元组的数据帧。我需要的是以下内容:

我有数据框ab

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

tuples dataframe pandas

5
推荐指数
1
解决办法
1938
查看次数

标签 统计

dataframe ×1

jit ×1

numba ×1

pandas ×1

python ×1

tuples ×1

types ×1