python - 用街道号码和字母 python 分隔街道名称字符串

标签 python pandas list join

我在 pandas 数据框中有一列,其中包含街道名称,例如

88                       SØNDRE VEI 54
89                     UTSIKTVEIEN 20B
92            KAARE MOURSUNDS VEG 14 A
94                      OKSVALVEIEN 19
96                  SLEMDALSVINGEN 33A
97                 GAMLESTRØMSVEIEN 59
100                JONAS LIES VEI 68 A

我想要的是获取街道名称、街道号码和街道字母的单独列。有没有办法使用 pd.apply 并使用 join 将街道名称分成三列?

谢谢!

编辑:20B 应分别拆分为值 20 和 B。

最佳答案

IIUC,您可以使用这个正则表达式:

df[1].str.extract('(\D+)\s+(\d+)\s?(.*)')

输出:

                     0   1  2
0           SØNDRE VEI  54   
1          UTSIKTVEIEN  20  B
2  KAARE MOURSUNDS VEG  14  A
3          OKSVALVEIEN  19   
4       SLEMDALSVINGEN  33  A
5     GAMLESTRØMSVEIEN  59   
6       JONAS LIES VEI  68  A

关于python - 用街道号码和字母 python 分隔街道名称字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097192/

相关文章:

python - for 循环以提取 pandas 中数据帧的 header

list - vue订单 ListView

python - 从字符串中提取字典键值

java - 我的循环链表能正常工作吗?

python - 无法包装 QWebView.load 方法

python - 将文本文件转换为字典

python - 足球数据的多元多项式拟合

python - Pandas 创建只有列名的空 DataFrame

python - 打印虚拟机列表

python - 在另一个训练操作中运行训练操作