擅长:python、mysql、java
<p>从<a href="https://stackoverflow.com/a/21296915/2845491">this</a>答案中获得一些灵感,我想出了这个regex+提取解决方案:</p>
<pre><code>In [77]: df.address.iloc[1] = 'Big Apple 19 21 7'
In [78]: df.address.str.extract('(?P<street>^[^0-9]*) (?P<building>.+?) (?P<door>.+?) (?P<apartment>.+?$)')
Out[78]:
street building door apartment
0 Iso Omena 8 a 2
1 Big Apple 19 21 7
2 Iso Omena 8 a 2
3 Iso Omena 8 a 2
4 Iso Omena 8 a 2
5 Iso Omena 8 a 2
6 Iso Omena 8 a 2
7 Iso Omena 8 a 2
8 Iso Omena 8 a 2
9 Iso Omena 8 a 2
</code></pre>