gpt4 book ai didi

python - 在 Numba 中获取类似结构的结构化数组/数据框的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:53 25 4
gpt4 key购买 nike

我有一个按列引用的 numpy 数组,例如 df['x']df['y']

将它提供给 Numba 以便我可以在 nopython 模式下运行该函数的最佳方式是什么?

或者在 Numba 中处理数据帧的最佳方式是什么,以便我可以按名称访问列?

最佳答案

提供一维数组作为参数

numba 旨在直接与 NumPy 数组一起使用。因此,您不应该将数据框或结构化数组提供给 numba 函数。您可以将数组作为单独的参数提供。例如:

from numba import njit

@njit
def func(A, B):
# some logic
arr = A + B
return arr

df['z'] = func(df['x'].values, df['y'].values)

numba 函数中解压二维数组

这是一种特殊情况,您的数据框系列都具有相同的类型。如果您不确定您的系列类型,请检查 df.dtypes。您可以提供单个数组并在 numba 中执行解包:

@njit
def func(df_values):
A, B = df_values[:, 0], df_values[:, 1]
# some logic
arr = A + B
return arr

df['z'] = func(df[['x', 'y']].values)

关于python - 在 Numba 中获取类似结构的结构化数组/数据框的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53175601/

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