我想知道是否有人可以帮我弄清楚如何在pandas DataFrame中将一个人的全名分成三列(forename,middle_name,surname)?
下面是我要分离的列的示例。任何帮助将不胜感激。
名 阿巴卡诺维奇,马格达莱纳 修道院,埃德温奥斯汀 雅培,贝雷尼斯 雅培,莱姆埃尔弗朗西斯 亚伯拉罕,艾弗 阿布萨隆 Abts,Tomma Acconci,Vito Ackling,Roger
答案 0 :(得分:0)
如果import { DriveItem } from '@microsoft/microsoft-graph-types';
// other imports
@NgModule({
imports: [DriveItem],
...
})
是您的列名,则可以使用拆分重命名,即
name
输出:
first name middle name last name 0 Abakanowicz 1 Magdalena Abbey 2 Edwin Austin Abbott 3 Berenice Abbott 4 Lemuel Francis Abrahams 5 Ivor Absalon Abts 6 Tomma Acconci 7 Vito Ackling 8 Roger
答案 1 :(得分:0)
df[['sur','nam1','nam2']] = df.pop('name').str.split(r',\s+|\s+', expand=True)
print (df)
sur nam1 nam2
0 Abakanowicz Magdalena None
1 Abbey Edwin Austin
2 Abbott Berenice None
3 Abbott Lemuel Francis
4 Abrahams Ivor None
5 Absalon None None
6 Abts Tomma None
7 Acconci Vito None
8 Ackling Roger None
或者:
df[['sur','nam']] = df.pop('name').str.split(', ', expand=True)
df[['nam1','nam2']] = df.pop('nam').str.split(expand=True)
print (df)
sur nam1 nam2
0 Abakanowicz Magdalena None
1 Abbey Edwin Austin
2 Abbott Berenice None
3 Abbott Lemuel Francis
4 Abrahams Ivor None
5 Absalon None None
6 Abts Tomma None
7 Acconci Vito None
8 Ackling Roger None