【问题标题】:python - concatenate two time series with different time stampspython - 连接两个具有不同时间戳的时间序列
【发布时间】:2018-01-09 14:50:10
【问题描述】:

我的问题与question完全相同

但是,我的语言是 Python,而不是 R。所以我再次问这个问题。

我有两个具有不同时间戳和不同数量数据点的时间序列。

例如,

第一个数据是

第二个数据是

.

我将两个表连接成一个表。

我想做两件事。首先,时间索引应该是有序的。

pd.concat([df1, df2], axis=1) 可以轻松完成。结果是

第二件事是用最近的数据点替换“NA”。

例如,在时间 0.1,列“B”的值为 2.1,即时间 0.09 的值。以同样的方式,在时间 0.30 时列“A”的值应该是 3.0。但是,“A”列在 0.09 时仍然没有值。

我该如何做这第二份工作?

谢谢!

【问题讨论】:

标签: python pandas time concatenation


【解决方案1】:

您可以将fillna 与方法 ffill(前向填充)一起使用

>>> df.fillna(method='ffill')
         A     B
0.09   NaN   2.1
0.10   2.0   2.1
0.22   3.0   3.3
0.30   3.0   5.1
0.33   5.0   5.1
0.50   4.0   4.0
0.59   4.0  10.0
0.60  10.0  10.0

如果您想将其重新分配给同一个数据框,请设置参数 inplace=True

【讨论】:

  • 您也可以将其链接到 concat:df_new = pd.concat([df1, df2], axis=1).ffill()
猜你喜欢
  • 1970-01-01
  • 2018-03-21
  • 2021-01-09
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 2020-04-04
  • 2015-01-13
  • 1970-01-01
相关资源
最近更新 更多