【发布时间】:2019-07-18 21:31:07
【问题描述】:
我有许多相等长度和相等日期时间索引的数据帧
Date OPP
0 2008-01-04 0.0
1 2008-02-04 0.0
2 2008-03-04 0.0
3 2008-04-04 0.0
4 2008-05-04 0.0
5 2008-06-04 0.0
6 2008-07-04 393.75
7 2008-08-04 -168.75
8 2008-09-04 -656.25
9 2008-10-04 -1631.25
Date OPP
0 2008-01-04 750.0
1 2008-02-04 0.0
2 2008-03-04 150.0
3 2008-04-04 600.0
4 2008-05-04 0.0
5 2008-06-04 0.0
6 2008-07-04 0.0
7 2008-08-04 -250.0
8 2008-09-04 1000.0
9 2008-10-04 0.0
我需要创建一个独特的数据框,它将来自许多数据框的所有 OPP 列相加。这可以像这样轻松完成:
df3 = df1["OPP"] + df2["OPP"]
df3["Date"] = df1["Date"]
只要所有数据帧的长度和日期索引相同,此方法就可以工作。
即使不满足这些条件,我怎样才能使它工作?如果我有另一个这样的数据框怎么办:
Date OPP
0 2008-07-04 393.75
1 2008-08-04 -168.75
2 2008-09-04 -656.25
3 2008-10-04 -1631.25
4 2008-11-04 -675.00
5 2008-12-04 0.00
我可以手动执行此操作:搜索具有最小开始日期的 df,具有最大开始日期的那个,并用所有日期和零填充每个 df,这样我就有了相等长度的 df...然后进行简单的求和。
但是,有没有办法在 Pandas 中自动执行此操作?
【问题讨论】:
-
你有多少个数据框?
-
应该是可扩展的:最多可以达到 200 个,目前测试中只有 10 个
-
它们现在在测试中都有正确的索引,但在生产中它们可以得到未对齐的索引,我希望它无论如何都能工作。我不想假设提供的数据具有相同的日期时间索引。