【问题标题】:numba: vectorizing a function with string input/returnnumba:使用字符串输入/返回向量化函数
【发布时间】:2021-03-12 10:17:10
【问题描述】:

我有一个示例函数,我想用 numba 对其进行矢量化:

import numba

@numba.vectorize
def test(x: str):
    return x.strip()

和一个熊猫数据框:

import pandas as pd

df = pd.DataFrame({"A": ["test ", "   test", "  test   ", "test"]})

现在如果我想调用函数

test(df.A.to_numpy())

我收到 {TypeError}return type must be specified for object mode 错误。 @numba.vectorize("unicode_type(unicode_type)") 也不行。

可以用字符串输入向量化函数吗?

【问题讨论】:

  • 你找到解决办法了吗,我也遇到了同样的问题。
  • 我使用了下面发布的@numba.jit 的解决方法

标签: python pandas string vectorization numba


【解决方案1】:

如果我使用numba.jit 它的工作原理:

@numba.jit
def test(string_array: np.ndarray):
    n=string_array.size
    result=np.empty(n,dtype="U10")
    for i in range(n):
        result[i]=string_array[i].strip()
    return result

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 2014-04-04
    • 1970-01-01
    • 2011-04-12
    相关资源
    最近更新 更多