Когда вы преобразуете список списков в массив numpy, он превращает его в массив numpy, только если внутренние списки имеют одинаковую длину. В противном случае он создает массив из python списков.
Пример:
Выполнение np.array(list(map(list,(" asdf fdsa".split()))))
возвращает:
array([['a', 's', 'd', 'f'],
['f', 'd', 's', 'a']], dtype='<U1')
Имеет форму (2,4). Но np.array(list(map(list,(" asdf fdsafda".split()))))
возвращает:
array([list(['a', 's', 'd', 'f']),
list(['f', 'd', 's', 'a', 'f', 'd', 'a'])], dtype=object)
Который имеет форму (2,).
Даже если вы преобразуете внутренний список в numpy массивы, они все равно не будут отображаться при получении np.shape()
, потому что они не все одинаковой длины.
Я бы предположил, что вполне вероятно, что один из ваших списков имеет другую длину, что может быть связано с разбиением по новым строкам '/n'
. Возможно, одно из ваших значений строки - пустая строка ['']
.