gpt4 book ai didi

python - 在 Numba 中创建日期数组?

转载 作者:行者123 更新时间:2023-11-28 20:58:12 26 4
gpt4 key购买 nike

我想在 Numba 函数中创建一个日期数组,以 nopython 模式运行。

我看不到日期类型,所以我正在尝试 NPDatetime。

我尝试的代码是:

import numba as nb
import numpy as np


@nb.jit(nopython=True)
def xxx():
return np.empty(10, dtype=nb.types.NPDatetime('D'))


print(xxx())

但是,代码返回此错误:

Unknown attribute 'NPDatetime' of type Module(<module 'numba.types' from '/home/xxx/anaconda3/lib/python3.6/site-packages/numba/types/__init__.py'>)

我的numba版本是0.39.0

最佳答案

编辑:我必须纠正自己,numba 支持 numpy.empty()datetime64:

Numba supports the following Numpy scalar types: [...] Datetimes and timestamps: of any unit [...]
Source: Section 2.7.1

numpy.empty() (only the 2 first arguments)
Source: Section 2.7.3.3

不知道是什么导致了您的问题。


您错误地指定了 dtype 参数。 Numpy 不为此使用 numba 类。以下是正确指定 dtype 的方法:(阅读更多 herehere )

dtype="datetime64[D]"

但即使您以这种方式指定参数,它也不会起作用。 @nb.jit()nopython 参数本身不支持该类型。这是更正后的代码:(阅读更多 here )

import numba as nb
import numpy as np

@nb.jit
def xxx():
return np.empty(10, dtype="datetime64[D]")

print(xxx())

但是考虑给 numba 一个类型提示:

import numba as nb
import numpy as np

@nb.jit(nb.types.NPDatetime('D')()) # returns datatime, no arguments
def xxx():
return np.empty(10, dtype="datetime64[D]")

print(xxx())

关于python - 在 Numba 中创建日期数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51938898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com