我正在努力根据另一列中的字符串创建两个新列。
是)我有的
Profile
0 Technician
1 Service Engineer
2 Sales and Service Support Engineer
我想拥有什么
First Last
0 Technician NaN
1 Service Engineer
2 Sales Engineer
我的尝试是使用类似的解决方案
new = tl['Profile'].str.split(' ')
tl['First'] = new[0]
tl['Last'] = new[1]
但这仅对First是正确的。
让我们str.extract
在这里尝试:
df['Profile'].str.extract(r'^(?P<First>\S+).*?(?P<Last>\S+)?$')
First Last
0 Technician NaN
1 Service Engineer
2 Sales Engineer
str
由于仅需要处理一个单词的句子的额外需求,没有多少方法会如此优雅。
您也可以str.partition
在这里使用。
u = df['Profile'].str.partition()
pd.DataFrame({'First': u[0], 'Last': u[2].str.split().str[-1]})
First Last
0 Technician NaN
1 Service Engineer
2 Sales Engineer
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句