下面是我的数据框的视图
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 ..
答案 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