【问题标题】:Append column of a timestamp-indexed dataframe in pandas在熊猫中附加时间戳索引数据框的列
【发布时间】:2021-07-28 10:57:26
【问题描述】:

我有两个数据框,其中一个包含历史值,另一个包含新值。两个值之间可能存在重叠,但都使用时间戳进行索引。

如何将两个数据帧合并为一个,而不会出现两次相同的值(相同的值具有完全相同的时间戳和值)。

非常感谢您的回答。

DF1 示例

|2011-05-09 15:00:00|5.395|
|2011-05-09 16:00:00|7.654|
|2011-05-09 17:00:00|8.395|
|2011-05-09 18:00:00|9.999|

DF2 示例

|2011-05-09 17:00:00|8.395|
|2011-05-09 18:00:00|9.999|
|2011-06-09 06:00:00|7.455|
|2011-06-09 07:00:00|7.422|

期望的输出

|2011-05-09 15:00:00|5.395|
|2011-05-09 16:00:00|7.654|
|2011-05-09 17:00:00|8.395|
|2011-05-09 18:00:00|9.999|
|2011-06-09 06:00:00|7.455|
|2011-06-09 07:00:00|7.422|

【问题讨论】:

  • 请提供样本数据和预期输出。例如,如果它们足够小,您可以使用 df.to_dict()
  • 它的数字非常大,所以这里的文本形式的数据看起来很丑,但我可以解释一下。假设我从过去 10 年中获得了很多温度值作为 df1,但它们最后一次更新是在 7 天前。所以我的 df2 是过去 7 天的所有新值。值的重叠是第 7 天. 我的预期输出 df 应该具有 df1 和 df2 的所有值,但没有重叠。我希望它有所帮助。
  • 我用简化的数字编辑了我的帖子,以解释数据合并的逻辑。我还是 pandas 的初学者,希望现在清楚。

标签: python pandas dataframe numpy scipy


【解决方案1】:

可能最简单的方法是连接和重复数据删除:

pd.concat([DF1,DF2]).drop_duplicates()

假设import pandas as pd

【讨论】:

  • @SergeBallesta 好点,编辑了我的答案
  • 这个。会完全像这样做的。
猜你喜欢
  • 2015-04-15
  • 2021-03-17
  • 1970-01-01
  • 2015-10-22
  • 2018-03-24
  • 2016-06-01
  • 2023-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多