Даже если вы укажете dtype=str
в np.empty
, когда вы проверяете Y, это не тип строки.
import numpy as np
N = 23000
Y = np.empty((N, 1), dtype=str)
Y
Вывод:
array([[''],
[''],
[''],
...,
[''],
[''],
['']], dtype='<U1')
Тип d"U1".
Это означает, что строка в юникоде имеет длину 1.
Вы можете изменить его на
Y = np.empty((N, 1), dtype='U25')
Вывод для Y[10]
:
array(['random string'], dtype='<U25')
Я дал случайное значение 25 для «U25».Вы можете дать любой номер там.25 здесь.
25 в U25 означает строку Unicode длиной 25