gpt4 book ai didi

python - 在 Python 中合并两个间隔不均匀的时间序列

转载 作者:行者123 更新时间:2023-11-28 22:26:20 25 4
gpt4 key购买 nike

我有两个间隔不均匀的时间序列:

      time    X1
1234567000 96.32
1234567005 96.01
1234567009 96.05

time X2
1234567001 23.88
1234567005 23.96

我想合并它们:

      time    X1    X2
1234567000 96.32 nan
1234567001 nan 23.88
1234567005 96.01 23.96
1234567009 96.05 nan

如何在 Python 中执行此操作?我愿意使用包,例如 Pandas 。

time 是整数(它不是 UNIX 时间戳)。 X1X2 是 float 的。

最佳答案

如果你想使用 pandas,首先将你的输入格式化为 pandas 数据帧,如下所示:

import pandas as pd

s1 = pd.DataFrame({
'time':[1234567000,1234567005,1234567009],
'X1':[96.32,96.01,96.05]
},columns=['time','X1']) # to keep columns order

s2 = pd.DataFrame({
'time':[1234567001,1234567005],
'X2':[23.88,23.96]
},columns=['time','X2']) # to keep columns order

然后用这一行简单地 merge 他们:

df = pd.merge(s1,s2,how='outer')

如果您希望时间值是 sorted,请改用它:

df = pd.merge(s1,s2,how='outer').sort_values(by='time')

关于python - 在 Python 中合并两个间隔不均匀的时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com