【发布时间】:2017-05-09 10:29:30
【问题描述】:
我使用两个数据框(一个来自 1981 年至今的降雨数据,另一个来自 2002 年至今的植被指数数据)。
pR:
MonthDekad 01d1 01d2 01d3 02d1 02d2 \
AdminCode Year
2688 1981 2.702703 2.702703 2.702703 2.702703 2.702703
1982 16.216216 21.621622 18.918919 32.432432 54.054054
...........
2016 0.166331 0.318759 0.431364 0.492916 0.632023
2017 -0.492916 -0.431364 NaN NaN NaN
和 pV:
MonthDekad 01d1 01d2 01d3 02d1 02d2 \
AdminCode Year
2688 2002 NaN NaN NaN NaN NaN
2003 0.477121 0.477121 0.477121 0.477121 0.477121
............
2016 NaN 0.636822 0.000000 0.000000 0.000000
2017 -0.636822 -0.636822 NaN NaN NaN
两者的索引方式相同(多索引,level0 = admincode 用于本地化,level1 用于年份),并且列是当年的 dekads。
我需要将它们组合成一个数据框,通过
- 平均同一个索引位置对应的2个值,只有两个值都是数字时,
- 否则(如果两者之一缺失/NaN),最终值应该是未缺失的值(例如:对于 1981 年到 2002 年,只有降雨量值)。
- 当然,如果两者都是 NaN,它也会是 NaN。
我被第二个条件阻止了。到目前为止,我只是想到了
pRV = pR.add(pV, fill_value=0)
然后我除以 2,但是当只添加一个值时会出现问题,因为它也会除以它......知道如何解决这个问题吗?
【问题讨论】: