pd.Series списков к массиву numpy 2d - PullRequest
1 голос
/ 17 октября 2019

У меня есть pd.Series списков.

то есть df = pd.Series([['a', 'b'], ['c', 'd']])

Я бы хотел преобразовать его в двумерный массив Numpy.

Выполнение этого: np.array(df.values) не дает желаемого результата, так каксписок рассматривается как объект.

Как получить 2d массив?

Ответы [ 3 ]

2 голосов
/ 17 октября 2019

В вашем решении конвертировать только значения в списки:

print (np.array(df.values.tolist()))
[['a' 'b']
 ['c' 'd']]

Или создать DataFrame first:

print (pd.DataFrame(df.values.tolist()).values)
1 голос
/ 17 октября 2019

Просто примените pd.Series:

df.apply(pd.Series).values
0 голосов
/ 17 октября 2019

Хорошо, я только что обнаружил, что np.stack может сделать это тоже.

df = pd.Series([['a', 'b'], ['c', 'd']])
np.stack(df.values).shape

результаты

(2, 2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...