【问题标题】:Converting degree minute second (DMS) columns to decimal degrees in pandas dataframe在熊猫数据框中将度分秒(DMS)列转换为十进制度
【发布时间】:2021-08-19 13:47:27
【问题描述】:

我有一个如下所示的数据框,想将度、分、秒格式的纬度和经度列转换为十进制度,并希望更新表与其他列

任何帮助将不胜感激

【问题讨论】:

    标签: python pandas geolocation coordinates coordinate-transformation


    【解决方案1】:

    这里是使用applylambda处理数据帧的每一行并创建一个新列lat_decimal来包含结果的相关代码。

    # Create dataframe
    d6 = {'id':['a1','a2','a3'], 
          'lat_deg': [10, 11, 12],
          'lat_min': [15, 30, 45],
          'lat_sec': [10, 20, 30]
        }
    df6 = pd.DataFrame( data=d6 )
    
    df6["lat_decimal"] = df6[["lat_deg","lat_min","lat_sec"]].apply(lambda row: row.values[0] + row.values[1]/60 + row.values[2]/3600, axis=1)
    

    生成的数据框:-

       id  lat_deg  lat_min  lat_sec  lat_decimal
    0  a1       10       15       10    10.252778
    1  a2       11       30       20    11.505556
    2  a3       12       45       30    12.758333
    

    【讨论】:

      猜你喜欢
      • 2018-10-16
      • 2014-04-14
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多