【问题标题】:How can I interpolate columns with unknown values for geocoordinates using meshgrid?如何使用网格网格为地理坐标插入具有未知值的列?
【发布时间】:2020-03-19 04:14:40
【问题描述】:

我有一个数据框,已将纬度、经度以及这些坐标处的叶绿素浓度和温度值合并。

数据框 1:

    lat             lon      chlor    temperature   salinity
0   15.020831   -99.979164  0.177225    29.689999   NaN
1   15.020831   -99.937492  0.166649    29.619999   NaN
2   15.020831   -99.895828  0.162154    29.584999   NaN
3   15.020831   -99.854164  0.168426    29.574999   NaN
4   15.020831   -99.812492  0.180328    29.539999   NaN
... ... ... ... ... ...
215419  31.979166   -78.187492  0.260021    25.719999   NaN
215420  31.979166   -78.145828  0.275804    25.875000   NaN
215421  31.979166   -78.104164  0.247142    25.674999   NaN
215422  31.979166   -78.062492  0.265501    25.869999   NaN
215423  31.979166   -78.020828  0.263538    25.974998   NaN

然而,我使用的盐度数据集在不同的纬度和经度值处进行了测量,如下所示:

数据框 2:

         lat      lon   salinity
605120  15.125  -99.875 0.000000
605121  15.125  -99.625 34.809124
605122  15.125  -99.375 29.729925
605123  15.125  -99.125 30.312372
605124  15.125  -98.875 31.037935
... ... ... ...
701683  31.875  -79.125 0.000000
701684  31.875  -78.875 0.000000
701685  31.875  -78.625 0.000000
701686  31.875  -78.375 0.000000
701687  31.875  -78.125 0.000000

如何基于 3 维网格插入盐度值以匹配第一个 Dataframe 的纬度和经度,可能使用网格网格或 ML 算法?

【问题讨论】:

    标签: python pandas scipy interpolation nan


    【解决方案1】:

    如果您的两个数据集包含完全相同的地理点(例如:两个数据集中的lat, lon = 15.020831 -99.979164),您只需对这些列执行连接即可。

    但是,它看起来不像。那么这是一个回归问题:用给定的lat, lon预测salinity

    你可以试试Gradient Boosting Regressor from sklearn。这很简单。只需适合训练数据集,在测试中进行预测,然后测量您的损失并确定是否可以。最后将模型应用于具有 nan 值的数据集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2015-10-09
      • 1970-01-01
      • 2017-10-27
      • 2019-11-27
      相关资源
      最近更新 更多