熊猫填充列值以具有其他列的相似值
Posted
技术标签:
【中文标题】熊猫填充列值以具有其他列的相似值【英文标题】: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
【问题讨论】:
【参考方案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))【讨论】:
以上是关于熊猫填充列值以具有其他列的相似值的主要内容,如果未能解决你的问题,请参考以下文章