我有以下数据帧,其中包含address
列
df = pd.DataFrame(index=np.arange(10))
df["address"] = "Iso Omena 8 a 2"
需要将其拆分为不同的列,以便生成的数据帧如下所示:
^{pr2}$
让它变得棘手的是:
1.名字之间可以有空格也可以没有空格,就像上面的例子一样。在
2.门牌号码字母有时可能是数字而不是字母。(例如“Iso Omena 8 5 2”)
address
最完整的形式是:【地址、街道名称、楼号、门牌号、字母、公寓号】
Tags:
从this答案中获得一些灵感,我想出了这个regex+提取解决方案:
您可以使用:
然后基于这些列构造一个数据帧:
^{pr2}$假设地址仅为字母和空格,其余为空格分隔,而建筑编号总是以数字开头,这可以通过以下方式实现:
或者,如果您希望将所有内容都放在一个数据帧中:
^{pr2}$编辑:建筑物编号只在“-”符号的左边:
您可以将
df.loc[i,(col)] = val
替换为如果这也适合门和公寓。否则,您必须使用col=='building'进行测试,才能使用此版本。在
相关问题 更多 >
编程相关推荐