在this question之后,
我有两个数据集,它们是由不同的采集系统以不同的采样率同时采集的。一个非常规律,而另一个则不是。我想创建一个包含两个数据集的单个数据框,并使用规则间隔的时间戳(以秒为单位)作为两者的参考。不规则采样的数据应插在规则间隔的时间戳上。
我的情况完全相同,但是我的t
列可能重复。
我想保留t重复的每一行,数据列最大的那一行。
按照原始示例:
df1:
t y1
0 0.0 0.0
1 0.5 0.5
2 1.0 1.0
3 1.0 3.0
4 1.5 1.5
5 2.0 2.0
df2:
t y2
0 0.00 0.00
1 0.34 1.02
2 1.01 3.03
3 1.40 4.20
4 1.60 4.80
5 1.70 5.10
6 2.01 6.03
df_combined:
t y1 y2
0 0.0 0.0 0.0
1 0.5 0.5 1.5
2 1.0 3.0 3.0
3 1.5 1.5 4.5
4 2.0 2.0 6.0
注意t = 1.0,现在y1 = 3.0
我该怎么做?
答案 0 :(得分:1)
有三个任务:
df1
上放置重复项df2
,这是一个解决方案
(df2.set_index('t')
.reindex(new_idx)
.interpolate('index')
.reset_index()
.merge(df1.sort_values('y1', ascending=False)
.drop_duplicates('t'),
on='t', how='right')
)
输出:
t y2 y1
0 0.0 0.0 0.0
1 0.5 1.5 0.5
2 1.0 3.0 3.0
3 1.5 4.5 1.5
4 2.0 6.0 2.0
答案 1 :(得分:-1)
如果您要处理“ TIMESTAMPS”,那么您可以使用datetime包,它是个人不关注的重要内容之一,也是时间序列预测的重要内容之一