假设我有一个 pandas DataFrame,其中包含如下名称:
name_df = pd.DataFrame({'name':['Jack Fine','Kim Q. Danger','Jane Smith', 'Juan de la Cruz']})
name
0 Jack Fine
1 Kim Q. Danger
2 Jane Smith
3 Juan de la Cruz
我想分开name
列入first_name
and last_name
如果名称中有一个空格。否则我想将全名推入first_name
.
所以最终的 DataFrame 应该是这样的:
first_name last_name
0 Jack Fine
1 Kim Q. Danger
2 Jane Smith
3 Juan de la Cruz
我尝试通过首先应用以下函数来返回可以分为名字和姓氏的名称来实现此目的:
def validate_single_space_name(name: str) -> str:
pattern = re.compile(r'^.*( ){1}.*$')
match_obj = re.match(pattern, name)
if match_obj:
return name
else:
return None
然而,将此函数应用于我的原始 name_df 会导致一个空的 DataFrame,而不是由可拆分的名称和 None 填充的 DataFrame。
帮助我实现当前的工作方法,或者涉及不同方法的解决方案将不胜感激!