熊猫-使用分隔符分割文字

时间:2018-07-26 10:50:20

标签: python pandas split

下面是我的数据框的视图

Id,user_id
1,glen-max
2,tom-moody

我正在尝试拆分user_id列中的值,并将其存储在新列中。

我可以使用以下代码拆分user_id。

z = z['user_id'].str.split('-', 1, expand=True)

我希望此拆分列成为我原始数据框的一部分。

以下是数据框的预期格式

 Id,user_id,col1,col2
 1,glen-max,glen,max
 2,tom-moody,tom,moody

任何人都可以帮助我如何使其成为原始数据框的一部分。 Tnx ..

2 个答案:

答案 0 :(得分:3)

General solution is possible multiple -:

df = z.join(z['user_id'].str.split('-', 1, expand=True).add_prefix('col'))
print (df)
   Id    user_id  col0   col1
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody

If always maximal one - is possible use:

z[['col1','col2']] = z['user_id'].str.split('-', 1, expand=True)
print (z)
   Id    user_id  col1   col2
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody

答案 1 :(得分:2)

使用str.split

例如:

import pandas as pd

df = pd.read_csv(filename, sep=",")
df[["col1","col2"]] = df['user_id'].str.split('-', 1, expand=True)
print(df)

输出:

   Id    user_id  col1   col2
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody