首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python检测和移除"0.0000,0.00000“(非固定)数据的GPS坐标

使用python检测和移除"0.0000,0.00000“(非固定)数据的GPS坐标
EN

Stack Overflow用户
提问于 2018-07-31 16:35:35
回答 1查看 220关注 0票数 0

我正在使用原始数据文件进行车辆监控。到目前为止,在问题浮出水面之前已经做了一些清理工作。由于我的数据不一致,这给我带来了一些问题。数据包括“模型(v,w,x,y和z),时间戳,纬度,经度和模式(0,2,4,8)”。

此过程的目标是通过清理数据来计算距离和持续时间

我已经成功地使用关于Model和Mode的时间戳计算了持续时间。我还成功地完成了使用坐标和半正弦公式计算行之间的距离。问题来了:

因此,只有在Lat和Long都存在并且格式正确(例如1.035436,103.234623)的情况下,我才能成功地计算行之间的距离。接收的数据可以是空字段,这会导致错误。此错误已通过识别空字段并删除行来解决(因为没有long,数据就没有用处)

代码语言:javascript
复制
 mydataset = mydataset[mydataset['Mode'].notnull()]     #for removing empty mode
 mydataset = mydataset[mydataset['Latitude'].notnull()]       #for removing empty latitude

但是有lat被接收为0.000000000,0.00000000,我想删除这个数字中lat行。有些方法已经尝试过了,但都不起作用。我尝试识别0并使用以下命令删除它:

代码语言:javascript
复制
mydataset = mydataset[(mydataset[['Latitude','Longitude']] != 0).all(axis=1)]

代码语言:javascript
复制
mydataset = mydataset[(mydataset.Latitude != 0).any()]

由于保密的数据和代码,我不能提供太多,但想知道为什么上述两种方法不工作,如果可能的话,谁能建议我如何处理这样的问题?

谢谢!非常感谢您的宝贵时间!

一些假数据如下所示:

代码语言:javascript
复制
,Model,Timestamp,Longitude,Latitude,Mode
0,x,1970-01-19 01:29:17.058,103.235623,1.045436,0
1,x,1970-01-19 01:29:22.058,0.00000000,0.00000000,0  #Would like to remove this row
2,x,1970-01-19 01:29:27.058,103.234813,1.038436,2
3,x,1970-01-19 01:29:32.058,103.235623,1.039436,2
4,x,1970-01-19 01:29:38.058,103.234123,1.036436,0
5,x,1970-01-19 01:29:38.058,,,0 #removed via the code above
EN

回答 1

Stack Overflow用户

发布于 2018-07-31 17:49:29

我不确定,如果我没理解错的话,你需要这样的东西吗?

示例df

代码语言:javascript
复制
Lat,Long
55.6,22.06
0.00000000,0.00000000
56.056,22.10

df1 = df[df[['Lat','Long']] != 0].dropna(how='any').reset_index(drop= True)
print(df1)
      Lat   Long
0  55.600  22.06
1  56.056  22.10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51608952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档