在 pandas 中添加数据框。

3
我有几个不同名称但都由相同时间序列索引的数据框。现在我想将它们中的值相加。到目前为止,我使用for循环来实现这一点。
如果我使用df1 + df2,我会得到一个DataFrame,它具有相同的索引,但每个名称都有一个包含所有NaN值的列。
如果我使用df1.add(df2)(带有可选的fill_value=0),我会得到一个DataFrame,其中包含第一个DataFrame的值,这与使用df1.combineAdd(df2)时的结果相同。
有没有提示可以添加这些值,而不是循环遍历所有索引并添加这些值?

请提供一些示例数据 - bmu
1个回答

4

如果您知道两者之间的索引相同,并且不关心列名,只需执行以下操作:

DataFrame(df1.values + df2.values, df1.index, df1.columns)

除了在形状不匹配时抛出错误之外,这与执行 df1+df2 有什么不同吗? - Andy Hayden
非常感谢。我已经自己解决了,通过将所有内容转换为系列,并以此重命名列。反正只有一个。不过我可能会重写成你的解决方案。 - wiseveri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接