Cythonizing цикл автозамены textblob массива строк

Я пытался cythonize следующий цикл, однако я не могу cdef np.array([],str). При компиляции массив не распознается как часть numpy.

import numpy as np
from textblob import TextBlob

def arr_blob_corr(str_arr1):
    
    ph1=np.array([],str)
    
    for n1 in range(0,str_arr1.shape[0]):
        ph2=TextBlob(str_arr1[n1].lower()).correct().raw
        ph1=np.append(ph1,ph2)
        
    return ph1

я пытался

cdef np.ndarray arr2=np.ndarray(arr1,str)

и

cdef np.nrray arr2=np.array(arr1,str)

Но безрезультатно.


person Cam K    schedule 03.07.2020    source источник
comment
Релевантно: stackoverflow. com/questions/20268228/ - это потому, что вам нужно cimport numpy использовать его в статических типах. Я пытаюсь найти лучший дубликат, хотя   -  person DavidW    schedule 03.07.2020
comment
Однако не тратьте слишком много времени на статический ввод строковых массивов — это будет сложно, и вы не получите многого.   -  person DavidW    schedule 03.07.2020
comment
Я не уверен, что вы подразумеваете под статическим вводом строковых массивов. Однако в этой ситуации могут подойти списки списков строк.   -  person Cam K    schedule 07.07.2020
comment
Очень мало преимуществ в установке типа переменной np.ndarray — преимущества начинают проявляться, когда вы сообщаете Cython тип элементов. К сожалению, это довольно сложно сделать для массива строк (который, я думаю, вы используете?)   -  person DavidW    schedule 07.07.2020
comment
Это то, что я надеялся использовать, да.   -  person Cam K    schedule 07.07.2020