我有一些关于不同时间轴(不同分辨率)的环境数据。我只想把它们合并为一个时间轴(具有更高分辨率的一个时间轴),并管理与同一时间轴相关的环境数据。我在谷歌上搜索过,但我只得到时间戳的例子。如果我手动检查每个时间轴的分辨率和所有时间轴的开始时间,它将消耗大量时间。我正在寻找一个快速的解决方案。我的数据帧的一个简短版本如下所示。
In [1] import pandas as pd
In [2] file_read = pd.read_csv('input.csv')
In [3] file_read
Out[3]
Time[s] v1 Time[s].1 v2
160.84621 0 160.84808 7
161.14613 0 161.14802 7
161.538245 27 161.540085 7
162.01598 27 162.017865 7
162.31589 27 162.317775 7
162.615855 27 162.617735 7
162.915765 27 162.91765 7
163.21574 27 163.217625 7
163.51569 27 163.517575 7
163.81563 27 163.81751 7
164.11554 27 164.117425 7
164.4155 27 164.41738 9
164.71543 27 164.717315 9
165.015405 27 165.017285 9
165.31532 27 165.317205 9
165.65083 26 165.65272 9
165.95025 26 165.95214 9这里,我希望有一个共同的时间轴,而不是两个时间轴( time和Times.1),并相应地插值v1和v2的值。
发布于 2018-04-02 07:15:10
我认为需要reindex
df = df.set_index('Time[s]')
df['v2new'] = df.set_index('Time[s].1')['v2'].reindex(df.index, method='ffill')
df = df.drop(['Time[s].1','v2'], 1)
print (df)
v1 v2new
Time[s]
160.846210 0 NaN
161.146130 0 7.0
161.538245 27 7.0
162.015980 27 7.0
162.315890 27 7.0
162.615855 27 7.0
162.915765 27 7.0
163.215740 27 7.0
163.515690 27 7.0
163.815630 27 7.0
164.115540 27 7.0
164.415500 27 7.0
164.715430 27 9.0
165.015405 27 9.0
165.315320 27 9.0
165.650830 26 9.0
165.950250 26 9.0https://stackoverflow.com/questions/49606729
复制相似问题