преобразование списков в массив numpy в панде - PullRequest
0 голосов
/ 21 сентября 2018

У нас есть фрейм данных, в котором элементы одного столбца являются списками (речь не идет о том, следует ли это делать или нет).Простым примером является следующее:

df = pd.DataFrame([[12,[123,234,234]], [14,[124,25,235]], [16,[1267,267,2345]]], columns = ['A', 'B'])

получение:

enter image description here

цель здесь - преобразовать столбец B в массив Numpy, как следующий:

enter image description here.

Если я попрошу панд, преобразовать столбец в массив:

df['B'].values

возвращает массив списка, который не совпадает с приведенным выше:

array([list([123, 234, 234]), list([124, 25, 235]),
   list([1267, 267, 2345])], dtype=object)

Как мы можем решить проблему?

1 Ответ

0 голосов
/ 21 сентября 2018

Если всегда возможна одинаковая длина списков, создайте вложенные списки, а затем преобразуйте в np.array:

arr = np.array(df['B'].values.tolist())
#alternative
#arr = np.array(df['B'].tolist())
print (arr)
[[ 123  234  234]
 [ 124   25  235]
 [1267  267 2345]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...