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))
我有一个日期列,其中包含每一分钟的时间序列数据。我想更新我的所有其他列也包含每分钟的数据,因此 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))