【问题标题】:Pandas fill column values to have similar values of other column(s)熊猫填充列值以具有其他列的相似值
【发布时间】:2020-12-27 16:24:34
【问题描述】:

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

例如 columnn Date2 行 2019-01-30 10:05,对应列 Value1,同一行应具有值 3,因为那是 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

【问题讨论】:

    标签: python pandas fill


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多