我正在尝试做一个文本到列(来自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
思考?在此先感谢您的帮助
答案 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'])