在numba nopython函数中使用numpy.datetime怎么办?

7

在@jit(nopython=True)函数中创建NPDatetime对象是否可能?据我所知,初始化这些对象需要使用字符串对象,这似乎会阻止nopython函数编译。

2个回答

5
你可以在numpy日期时间上执行操作。
import numpy as np
import numba as nb

@nb.njit
def diff_dt(a, b):
    return a - b

x = np.datetime64('2005-02-25')
y = np.datetime64('2005-02-27')

diff_dt(x, y)

但是看起来你无法创建一个日期时间对象:

@nb.njit
def create_dt(s):
    return np.datetime64(s)

# Fails
create_dt('2005-02-25')

能否传递一个numpy日期时间数组? - triphook
我无法立即弄清楚,但您可以查看numba测试以查看是否可以弄清楚 https://github.com/numba/numba/blob/a4e6d6689d11ddad4125a01c4e4ad19bc69c5759/numba/tests/test_npdatetime.py - JoshAdel
目前在Numba中无法使用日期时间。Numba允许使用datetime64数据类型,但nopython=True不能用于datetime64数组。 - Aseem

3
我曾经面临过类似的问题。我所做的是将我的日期时间转换为自纪元以来的整数秒,然后在jit操作之后,将它们重新转换回日期时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接