基于模式排除 Dataframe 中的行(regex?)

cygmwpex  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(167)

我在数据框中有一列带有gps纬度坐标。我想排除以某种方式格式化坐标的行。
对的: [39, 16, 1031971/156250] 我想排除格式如下的行: [39, 8050139/500000, 0] 我尝试了一些使用正则表达式的方法,但没有成功。有什么想法吗?有时,斜杠前后的位数会相差1或2 8050139/5000008050156/4000 几排。
专栏的标题是 GPS GPSLatitude .

sbtkgmzw

sbtkgmzw1#

使用此正则表达式- ,.+\/.+, -只要排除任何匹配项即可。正则表达式查找两个逗号之间具有 / 在里面。第一个值没有两个逗号围绕包含 / .

[39, 16, 1031971/156250]  

# no match

对于第二个值,它执行以下操作:

[39, 8050139/500000, 0]

# ^^^^^^^^^^^^^^^^^  match

在实际应用中,使用 pd.Series.str.contains 并通过 na=False 作为您的参数之一。我希望如此:

df[~df['gps'].str.contains(r',.+\/.+,', regex=True, na=False)]

相关问题