Pandas 填充列值以具有与其他列相似的值

Pandas fill column values to have similar values of other column(s)

我有一个日期列,其中包含每一分钟的时间序列数据。我想更新我的所有其他列也包含每分钟的数据,因此 Date2 和 Date3 列应具有与 Date 列相同的值。我还希望列 Value1(链接到 Date 2 列)和 Value2(链接到 Date3 列)填充值,以便每一行都有值。填充应始终替换可见的最新值。

例如 column Date2 行 2019-01-30 10:05,对应列 Value1,同一行的值应为 3,因为它是 stamp 10:04 的最后更新值。

最后,对于 Date 列,所有早于 Date2 和 Date3 列的日期都应删除。这里是第 2019-01-30 行 10:03.

    Date              Date2              Value1  Date3             Value2
   2019-01-30 10:09   2019-01-30 10:08    1      2019-01-30 10:07   5
   2019-01-30 10:08   2019-01-30 10:07    2      2019-01-30 10:04   9   
   2019-01-30 10:07   2019-01-30 10:06    4 
   2019-01-30 10:06   2019-01-30 10:04    3
   2019-01-30 10:05   
   2019-01-30 10:04
   2019-01-30 10:03

结果应该是:

    Date              Date2              Value1  Date3             Value2
   2019-01-30 10:09   2019-01-30 10:09    1      2019-01-30 10:09   5
   2019-01-30 10:08   2019-01-30 10:08    1      2019-01-30 10:08   5
   2019-01-30 10:07   2019-01-30 10:07    2      2019-01-30 10:07   5
   2019-01-30 10:06   2019-01-30 10:06    4      2019-01-30 10:06   9
   2019-01-30 10:05   2019-01-30 10:05    3      2019-01-30 10:05   9
   2019-01-30 10:04   2019-01-30 10:04    3      2019-01-30 10:04   9

您似乎希望日期的所有列中的日期值相同,对吗?如果是,那么您只需将 Date 复制到 Date2 和 Date3。当您使用 Pandas 读取列时,缺失值被读取为“NAN”,您可以将其替换为 DataFrame.fillna .

如果您已经阅读了列并希望填充它们,一种天真的方法是将列用作 NumPy 数组:

  • $ 日期 1 = 日期
  • $latest_value = 值 1[-1]
  • $ updated_values = list(value1) + list (np.ones(len(Date1)-len(value1))