将数据框列的列表拆分为两个数据框列


问题内容

我正在有效地尝试执行文本到列(从MS Excel)操作,但是在Pandas中。

我有一个数据框,其中包含诸如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

有什么想法吗?在此先感谢您的帮助


问题答案:

使用expand=True在做的时候split,以获得多列:

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

如果只有一个下划线,并且您只关心右边的值,则可以使用:

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