私は、datetimeフィールド、IDフィールド、および緯度と経度の列を持つpandasデータフレームを持っています。パンダを使用して時系列の緯度経度を補間する方法
Date ID Lat Lon
2017-07-03 00:03:43 f2d8c21d593adcb5423127923d63c7b3 39.90459 -75.12544
2017-07-03 00:06:49 f2d8c21d593adcb5423127923d63c7b3 39.91282 -75.17551
2017-07-03 00:09:56 f2d8c21d593adcb5423127923d63c7b3 39.93888 -75.19702
2017-07-03 00:13:03 f2d8c21d593adcb5423127923d63c7b3 39.96759 -75.18911
2017-07-03 00:16:09 f2d8c21d593adcb5423127923d63c7b3 40.00141 -75.19462
私のデータフレームには、それぞれ異なるオブジェクトを表す複数のIDがあります。私がしようとしているのは、IDごとに、毎秒の行を追加して日付フィールドの「ギャップ」を埋めるだけでなく、緯度が長いポイントが移動した場所を補間することです。ポイント(地球の曲率を考慮しない)
の間でどのような私がこれまで持っていることは次のとおりです。私はそこに道の一部を取得し
idlist = df['ID'].unique() #create list of all ids
for x in idlist:
temp = df.loc[df['ID']==x] #iterate of smaller sub-dataframe for each ID
temp['Date'] = pd.to_datetime(temp['Date'])
mindate = temp['Date'].min()
maxdate = temp['Date'].max()
idx = pd.date_range(mindate, maxdate,freq='s') #create new second index
temp = temp.set_index('Date')
temp = temp.reindex(idx, fill_value=0)
temp.loc[temp['ID']==0, 'TripID'] = x
print(temp)
break
。
TripID Lat Lon
2017-07-03 00:03:43 f2d8c21d593adcb5423127923d63c7b3 39.90459 -75.12544
2017-07-03 00:03:44 f2d8c21d593adcb5423127923d63c7b3 0.00000 0.00000
2017-07-03 00:03:45 f2d8c21d593adcb5423127923d63c7b3 0.00000 0.00000
2017-07-03 00:03:46 f2d8c21d593adcb5423127923d63c7b3 0.00000 0.00000
2017-07-03 00:03:47 f2d8c21d593adcb5423127923d63c7b3 0.00000 0.00000
...
2017-07-03 00:16:08 f2d8c21d593adcb5423127923d63c7b3 0.00000 0.00000
2017-07-03 00:16:09 f2d8c21d593adcb5423127923d63c7b3 40.00141 -75.19462
私はIDは私がのためのデータを持っている点の間の直線的に動くように見えるように、彼らは0に等しい緯度と経度の位置に記入する方法を考え出す必要があります。
これは私が確信している部分です。どんな洞察も役に立ちます。 これを行う方法が分かれば、完成したすべての一時データフレームを出力に追加できます。
申し訳ありません申し訳ありませんが私は自分自身を明確にしませんでした。私が探しているのは、IDが2つの既知の場所の間を移動しているかのように、入力されたNA値です。 2つのポイントの中間点の中間点も地理的に半分にする必要があります。 –