我相信你需要
extract
用于通过regex提取列-
[a-zA-Z]+
如果匹配一个或多个字符,则
\s*
对于零个或多个空格和
\d+
对于一个或多个数字:
df[['Name','Nums']] = df['Name'].str.extract('([a-zA-Z]+)\s*(\d+)')
print (df)
Name OXA Nums
0 SAN Yes 109
1 KENI No 122
2 REEMA Yes 455
df[['NUMS','Name']] = df['Name'].str.extract('([a-zA-Z]+)\s*(\d+)')
print (df)
Name OXA NUMS
0 109 Yes SAN
1 122 No KENI
2 455 Yes REEMA
如果始终存在空白分隔符,则可以使用
split
:
df[['Name','Nums']] = df['Name'].str.split(expand=True)
print (df)
Name OXA Nums
0 SAN Yes 109
1 KENI No 122
2 REEMA Yes 455