简体   繁体   English

使用 pandas 更改纬度和经度

[英]Change Latitude and Longitude with pandas

I have a csv with Lan/Lon in radians and and I want to change them to degrees.我有一个 csv,Lan/Lon 以弧度表示,我想将它们更改为度数。 I know it can be done by iterating and 180/pi but I am serching for a simpler way to do it.我知道它可以通过迭代和 180/pi 来完成,但我正在寻找一种更简单的方法来做到这一点。

def MTS_Road_Coordinates(load):
data = pd.read_csv(load , delimiter=';')
roadCoordinates = []
for key , value in data.iterrows():
        roadCoordinates.append((tuple((data.at[key, 'ARS_GPS.GPSCycle.GPS_GEN_POS_FIX.Latitude'] * 180 / math.pi, data.at[key, 'ARS_GPS.GPSCycle.GPS_GEN_POS_FIX.Longitude'] * 180 / math.pi)) ,data.at[key, 'Time stamp']) )

return roadCoordinates

I would like to export the exact sane csv with degres我想以度数导出完全正常的 csv

Group the columns to be converted into a list and use it as index, and call transform:将要转换的列分组并用作索引,并调用变换:

data = pd.read_csv(load , delimiter=';')
cols=[['ARS_GPS.GPSCycle.GPS_GEN_POS_FIX.Latitude','ARS_GPS.GPSCycle.GPS_GEN_POS_FIX.Longitude']]

data[cols]= data[cols].transform(lambda rad: rad*180/math.pi)

data.to_csv("new.csv",sep=";")

Edit: Learning from @Quang Hoang's example, you can write:编辑:从@Quang Hoang 的例子中学习,你可以写:

data[cols]= np.rad2deg(data[cols])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM