1 回答
TA贡献1839条经验 获得超15个赞
我相信您需要Series.str.extract
使用\D
for 非数字数据来Series.str.strip
删除尾随空格:
df["number"]=df["name&numb"].str.extract('(\d+)')
df["strings"] = df["name&numb"].str.extract('(\D+)', expand=False).str.strip()
如果需要所有字符串,一个想法是使用:
f = lambda x: ' '.join(y for y in x.split() if not y.isdigit())
df["strings1"] = df["name&numb"].apply(f)
print (df)
name&numb number strings strings1
0 cat 123 123 cat cat
1 34 dog 34 dog dog
2 bird 93 93 bird bird
3 dolphin dof 8 8 dolphin dof dolphin dof
4 lion cat 76 76 lion cat lion cat
5 tiger 22 animal 22 tiger tiger animal
添加回答
举报