【发布时间】:2018-09-14 13:24:34
【问题描述】:
我有一个基本上是 2 列和 9000 行的 pandas 数据框
CompanyName | CompanyAddress
地址在表格中
Line1, Line2, ..LineN, PostCode
即字符串(或 dtype 'object')中逗号分隔项目的数量基本上不同,我只想提取邮政编码,即字段中最后一个逗号之后的项目
我已经尝试了Dot notation string manipulation 的建议(可能很糟糕):
df_address['CompanyAddress'] = df_address['CompanyAddress'].str.rsplit(', ')
它只是在字段周围放置了 '[ ]' - 我没有成功尝试隔离任何拆分/分区字符串的最后一个组件,maxsplit 引发错误。
在 EdChums 对Pandas split Column into multiple columns by comma 的评论之后,我取得了一定程度的成功
pd.concat([df_address[['CompanyName']], df_address['CompanyAddress'].str.rsplit(', ', expand=True)], axis=1)
但是,在隔离邮政编码的同时,这只会创建多个列,并且邮政编码在第 3-6 列中......同样不好。
感觉非常接近,请指教。
EmployerName Address
0 FAUCET INN LIMITED [Union, 88-90 George Street, London, W1U 8PA]
1 CITIBANK N.A [Citigroup Centre,, Canary Wharf, Canada Squar...
2 AGENCY 2000 LIMITED [Sovereign House, 15 Towcester Road, Old Strat...
3 Transform Trust [Unit 11 Castlebridge Office Village, Kirtley ...
4 R & R.C.BOND (WHOLESALE) LIMITED [One General Street, Pocklington Industrial Es...
5 MARKS & SPENCER FINANCIAL SERVICES PLC [Marks & Spencer Financial, Services Kings Mea...
【问题讨论】:
标签: python string pandas split