#python #pandas #string #vectorization #numba
#python #pandas #строка #векторизация #numba
Вопрос:
У меня есть пример функции, которую я хочу векторизовать с помощью numba:
import numba
@numba.vectorize
def test(x: str):
return x.strip()
и фрейм данных pandas:
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)")
также не работает.
Возможно ли векторизировать функции с помощью строкового ввода?
Комментарии:
1. вы нашли какой-либо способ обойти это, у меня такая же проблема.
2. Я использовал обходной путь с
@numba.jit
опубликованным ниже
Ответ №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