我有如下所示的data frame(location)
。我还将当前代码粘贴在下面,但它会过滤掉所有包含数字和特殊字符的记录。
我的问题是当单词之间有空格字符时,例如NEWYORK CITY, NEWYORK CITY。我不过滤字与字之间的空格。
输入>location.head(8)
CITY COUNTRY
AGNIN34 FR
(REYDON) GB
MARSCIANO IT
SANXIANG TOWN CN
SIZIANO IT
APELDOORN NL
REYDON GB
NEWYORK CITY US
我的当前代码:
out = location[location.apply(lambda c: c.str.match('(?i)[a-z]+$')).all(1)]
预期输出
CITY COUNTRY
MARSCIANO IT
SANXIANG TOWN CN
SIZIANO IT
APELDOORN NL
REYDON GB
NEWYORK CITY US
如何做到这一点?
检查
out = location[location.CITY.astype(str).str.match('^[a-zA-Z ]*$')]
使用str.contains
和na=False
标志集:
out = location[location["CITY"].str.contains(r'^[A-Za-z ]+$', na=False, regex=True)]