首页 > 解决方案 > 如何仅沿数据框的选定列进行推断?

问题描述

我有一个这样的数据框:

        Time    ID  lat         long            speed
0   27619   1471777 23289.639077    18234.769277    2.25
1   27620   1471777 23287.585417    18238.259976    4.05
2   27621   1471777 23284.390833    18243.689952    6.30
3   27622   1471777 23280.192238    18250.826491    8.28
4   27623   1471777 23276.536215    18257.040797    7.21 ...contd

我需要沿速度列进行插值,而我发现的命令只适用于 TimeSeries。所以我首先删除了ID,latlong列,并将列作为Time我的轴。假设数据帧被称为a

drop_col = ['ID', 'lat', 'long']
a.drop(drop_col,axis=1,inplace=True)

a['Time'] = a['Time'].astype('float64') 
a['Time'] = pd.to_datetime(a["Time"], unit='s')

a = a[set_index('Time').resample(rule='0.25S').mean().interpolate(method='linear') # works when a datetime object is the index

我必须删除 3 列,否则这些列也会被推断出来。在获得外推速度后,我添加了一个acceleration列,因此 df 看起来像这样:

rows    speed   acceleration    
1   2.7000  0.45
2   3.1500  0.45
3   3.6000  0.45
4   4.0500  0.45
5   4.6125  0.56        ...contd

但是,我现在需要计算两点之间的航向(即两个连续行之间),为此我需要删除的列latlong(代表纬度和经度)以避免不必要的插值。

那么,是否有一种方法可以直接允许我沿速度轴进行插值,以便我可以保持插值行的纬度和经度值不变?

标签: pythonpython-3.xpandasnumpyextrapolation

解决方案


推荐阅读