Datetime、lat、lon、zの列を持つデータフレームがあります。私はcsvファイルからデータを読み込んでいるので、datetimesの期間を設定することはできません。時間は6時間間隔ですが、私は線形にデータを時間間隔に補間したいと思います。パンダ新しい長さでデータフレームを補間する
ゴー
'A' 'B' 'C' 'D'
0 2010-09-13 18:00:00 16.3 -78.5 1
1 2010-09-14 00:00:00 16.6 -79.8 6
2 2010-09-14 06:00:00 17.0 -81.1 12
から
'A' 'B' 'C' 'D'
1 2010-09-13 18:00:00 16.3 -78.5 1
2 2010-09-13 19:00:00 16.35 -78.7 2
3 2010-09-13 20:00:00 16.4 -78.9 3
4 2010-09-13 21:00:00 16.45 -79.1 4
5 2010-09-13 22:00:00 16.5 -79.3 5
....
に私は、補間コマンドを使用して試してみましたが、データフレームの新しい長さには引数はありません。
df.interpolate(method='linear')
私は、データフレーム内の各ライン間のナンの5行を含めることの.locを使用して、補間関数を使用することができることを考えていたが、それは悪い回避策のように思えます。あなたの最初の列がdatetime型としてインポートされなかった場合DatetimeIndexを使用して
ソリューション は、他の列との関連を排除します。
i = pd.DatetimeIndex(start=df['A'].min(), end=df['A'].max(), freq='H')
df = df.reindex(i).interpolate()
print(df)
正しい答えを示します。
サンプルデータはDatetime、lat、lon ...のみです。zはどこですか? – piRSquared