1 回答

TA貢獻1815條經驗 獲得超13個贊
如果名字和姓氏中沒有空格(否則如何區分它們):
pattern = ('^(?P<Initials>\w+)\s'
+ '(?P<FName>\w+)\s'
+ '(?P<LName>\w+)\s'
+ '(?P<SignupTime>\d+/\d+/\d+ \d+:\d+ \w+)\s'
+ '(?P<Waiver>.*)'
)
df['name'].str.extract(pattern)
輸出:
Initials FName LName SignupTime Waiver
0 DA Firstname Lastname 09/30/2020 07:44 AM 9/23/2020 6:06:38 PM
1 JW Firstname Lastname 10/25/2020 11:06 AM None
更新:對于可選的縮寫,您可以嘗試以下模式:
pattern = ('^(?P<Initials>\w+\s)?' # make initial optional
+ '(?P<FName>\w+)\s+'
+ '(?P<LName>\w+)\s+'
+ '(?P<SignupTime>\d+/\d+/\d+ \d+:\d+ \w+)\s'
+ '(?P<Waiver>.*)'
)
請注意,現在如果Initials存在,將會有一個尾隨空格,您可以輕松處理。
添加回答
舉報