Как применить str.split () к столбцу pandas? - PullRequest
0 голосов
/ 08 апреля 2020

Использование простых данных:

df = pd.DataFrame({'ids': [0,1,2], 'value': ['2 4 10 0 14', '5 91 19 20 0', '1 1 1 2 44']})

Мне нужно преобразовать столбец в массив, поэтому я использую:

df.iloc[:,-1] = df.iloc[:,-1].apply(lambda x: str(x).split())
X = df.iloc[:, 1:]
X = np.array(X.values)

, но проблема в том, что данные вкладываются, и я просто нужна матрица (3,5). Как сделать это правильно и быстро для больших данных (избегайте зацикливания)?

1 Ответ

2 голосов
/ 08 апреля 2020

Как сказано в комментариях @anky, @ScottBoston. Вы можете использовать метод разделения строк вместе с параметром расширения и, наконец, изменить его на NumPy:

df.iloc[:, 1].str.split(expand=True).values

array([['2', '4', '10', '0', '14'],
       ['5', '91', '19', '20', '0'],
       ['1', '1', '1', '2', '44']], dtype=object)

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