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

时间:2016-07-19 21:16:13

标签: python pandas

我正在尝试做一个文本到列(来自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

思考?在此先感谢您的帮助

2 个答案:

答案 0 :(得分:3)

在执行expand=True时使用split获取多列:

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

如果只有一个下划线,而你只关心右边的值,你可以使用:

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

答案 1 :(得分:2)

你很近:

而不是仅仅拆分试试这个:

test2 = pd.DataFrame(test['values'].str.split('_').tolist(), columns = ['c1','c2'])