另一种实现此目的的方法如下。
示例数据集:
>>> df = pd.DataFrame({'Name': ['Karn,Kumar', 'John,Jimlory']})
>>> df
Name
0 Karn,Kumar
1 John,Jimlory
Result:
您可以在拆分值时指定列名称,如下所示。
>>> df[['First Name','Last Name']] = df['Name'].str.split(",", expand=True)
>>> df
Name First Name Last Name
0 Karn,Kumar Karn Kumar
1 John,Jimlory John Jimlory
或者,正如另一个答案所说..
>>> df['Name'].str.split(",", expand=True).rename({0: 'First_Name', 1: 'Second_Name'}, axis=1)
First_Name Second_Name
0 Karn Kumar
1 John Jimlory
OR
>>> df['Name'].str.rsplit(",", expand=True).rename(columns={0:'Fist_Name', 1:'Last_Name'})
Fist_Name Last_Name
0 Karn Kumar
1 John Jimlory
注意:您可以使用axis = columns
or axis =1
两者是相同的。
只是另一种方式使用Series.str.partition几乎没有争论,但是,我们必须使用drop
as partition
保留逗号“,”以及一列。
>>> df['Name'].str.partition(",", True).rename(columns={0:'Fist_Name', 2:'Last_Name'}).drop(columns =[1])
Fist_Name Last_Name
0 Karn Kumar
1 John Jimlory
只要让它变得苗条,我们就可以定义 dict 值rename
.
1 - 使用str.partition
..
dict = {0: 'First_Name', 2: 'Second_Name'}
df = df['Name'].str.partition(",", True).rename(dict2,axis=1).drop(columns =[1])
print(df)
First_Name Second_Name
0 Karn Kumar
1 John Jimlory
2 - 使用str.split()
..
dict = {0: 'First_Name', 1: 'Second_Name'}
df = df['Name'].str.split(",", expand=True).rename(dict, axis=1)
print(df)
First_Name Second_Name
0 Karn Kumar
1 John Jimlory