只是关于我的问题的简短描述。
我有两列 [name] 和 [address] 以一种或另一种方式,(部分)地址与名称(导入的 csv 文件)位于同一单元格中。
我想拆分名称列中的字符串(按“2/”拆分)并将地址部分添加到列 [address] 并将名称保留在 [名称]列。
当 [address] 为空时移动它,如果 [address] 不为空则加入。
请在下面找到一个示例。
来自 csv 的原始数据:
name;address
Markus M Berg;Kirchenallee 52
Johanna P Wirth 2/Ufnau Strasse 48;
Felix B Beike 2/Mohrenstrasse 47;Dormettingen
现状
name | address
------------------------------------------------------------
Markus M Berg | Kirchenallee 52
Johanna P Wirth 2/Ufnau Strasse 48 |
Felix B Beike 2/Mohrenstrasse 47 | Dormettingen
期望的情况:
name | address
------------------------------------------------------------
Markus M Berg | Kirchenallee 52
Johanna P Wirth | Ufnau Strasse 48
Felix B Beike | Mohrenstrasse 47 Dormettingen
请您参考如下方法:
拆分 r'\d/' 并重新分配:
v = df.name.str.split(r'\d/', expand=True).fillna('')
df['name'] = v.iloc[:, 0].str.strip()
df['address'] = v.iloc[:, 1].str.cat(df['address'], sep=' ').str.strip()
print(df)
name address
0 Markus M Berg Kirchenallee 52
1 Johanna P Wirth Ufnau Strasse 48
2 Felix B Beike Mohrenstrasse 47 Dormettingen
