2016-07-19 3 views
3

Я эффективно пытаюсь выполнить действие «текст-в-столбцы» (из MS Excel), но в Pandas.Разделите список столбцов dataframe на два столбца DataFrame

У меня есть dataframe, который содержит такие значения, как: 1_1, 2_1, 3_1, и я хочу только принять значения справа от подчеркивания. Я понял, как разбить строку, которая дает мне список сломанной строки, но я не знаю, как разбить ее на разные столбцы данных.

Вот мой код:

import pandas as pd 

test = pd.DataFrame(['1_1','2_1','3_1']) 
test.columns = ['values'] 

test = test['values'].str.split('_') 

я получаю что-то вроде: [1, 1], [2, 1], [3, 1].

То, что я пытаюсь получить две отдельные колонки:

col1: 1, 2, 3 col2: 1, 1, 1

Мысли? Заранее спасибо за помощь

ответ

3

Использование expand=True при выполнении split, чтобы получить несколько столбцов:

test['values'].str.split('_', expand=True) 

Если есть только один подчеркивание, и вы заботитесь только о значении справа, вы можете использовать:

test['values'].str.split('_').str[1] 
2

Вы близки:

Вместо того, чтобы просто попробовать это расщепление:

test2 = pd.DataFrame(test['values'].str.split('_').tolist(), columns = ['c1','c2']) 
Смежные вопросы