pandas DataFrame.add方法有以下注释:"不匹配的索引将联合在一起"但我正在寻找降低不匹配指数的最有效方法。
我有多个DataFrame,每个都有一个DateTime索引,但我只想在日期中添加值,这些日期在我所有的DataFrame中的列的 ANY 中有观察结果。加在一起。什么是最有效的方法(即丢弃不匹配的指数而不是联合它们)?
iso_country_code AFG AGO ALB ARE
period_end
2013-03-31 NaN NaN NaN 7.512557
2013-06-30 NaN NaN NaN 7.455903
2013-09-30 NaN NaN NaN 7.232294
2013-12-31 NaN NaN NaN 7.044918
2014-03-31 NaN NaN NaN 7.049269
2014-06-30 NaN NaN NaN 8.621573
2014-09-30 NaN NaN NaN NaN
2014-12-31 NaN NaN NaN NaN
iso_country_code AFG AGO ALB ARE
period_end
2013-03-31 0.083310 4.164154 20.002821 17.463841
2013-06-30 0.092613 5.129979 20.389471 17.774866
2013-09-30 0.048484 5.116080 20.641199 17.535600
2013-12-31 0.067519 3.632584 21.494163 18.122075
2014-03-31 0.242996 3.686424 18.178002 19.399709
2014-06-30 NaN NaN NaN NaN
2014-09-30 NaN NaN NaN NaN
2014-12-31 NaN NaN NaN NaN
*程序完成*
答案 0 :(得分:0)
应该像以下一样简单:
(df1 + df2).dropna(axis=0, how='all').dropna(axis=1, how='all')
如果不起作用,请尝试:
df1.add(df2).dropna(axis=0, how='all').dropna(axis=1, how='all')
我现在无法测试,但是其中一个(或至少)其中一个会留给你:
iso_country_code ARE
period_end
2013-03-31 25.xxx
2013-06-30 xx.xxx
2013-09-30 xx.xxx
2013-12-31 xx.xxx
2014-03-31 xx.xxx
2014-06-30 xx.xxx