我正在处理来自各种来源的数据集,而我的列是捕获例如城市名称的框架。某些城市名称在括号中具有州名称,其他城市名称具有邮政编码。如何获取这些额外信息并仅保留城市名称? Example of data
在某些情况下,邮政编码和城市名称之间没有空格。 以下是所需的框架: Desired frame
答案 0 :(得分:0)
您可以使用正则表达式replace
:
\s*
一个或零空间\d+
一个或多个数字\(.*\)
+括号之间的所有字符串df = pd.DataFrame([{'City Name': 'Dallas'} ,
{'City Name': 'New York (NY)'} ,
{'City Name': 'West Orange 07052'} ,
{'City Name': 'Orlando (Florda)'} ,
{'City Name': 'Camdem (NJ)'} ,
{'City Name': 'Boston'} ,
{'City Name': 'Harrison07029'}])
df['new'] = df['City Name'].replace(['\s*\d+', '\s*\(.*\)'], '', regex=True)
print (df)
City Name new
0 Dallas Dallas
1 New York (NY) New York
2 West Orange 07052 West Orange
3 Orlando (Florda) Orlando
4 Camdem (NJ) Camdem
5 Boston Boston
6 Harrison07029 Harrison