【问题标题】:Add/subtract dataframes with different column labels添加/减去具有不同列标签的数据框
【发布时间】:2016-07-17 04:45:19
【问题描述】:

我正在尝试添加/减去具有不同列标签的两个数据框。是否可以在不重命名列以对齐它们的情况下执行此操作?我想保留原来的标签。

【问题讨论】:

  • 您可以通过运行df1.col1 - df2.col2 简单地减去两个具有相同维度的数据框列。究竟什么不适合你?
  • 如果我对所有列而不是特定列进行操作,它将不起作用。答案解决了我的问题。下次我一定会提供一个例子!

标签: python pandas


【解决方案1】:

考虑数据框 AB

A = pd.DataFrame([[1, 2], [3, 4]], ['a', 'b'], ['A', 'B'])
B = pd.DataFrame([[1, 2], [3, 4]], ['c', 'd'], ['C', 'D'])

A

B

把它们加在一起,我们就搞砸了。

A + B

添加它们的底层数组

A.values + B.values

array([[2, 4],
       [6, 8]])

这更接近我们想要的。

要获得您要求的内容,您需要确定哪个数据框具有您想要的列和索引,并将另一个数据框的值添加到您选择的数据框。假设我选择保留 A 的索引。

A + B.values

应该这样做!

【讨论】:

  • 这个答案有一票反对。我真诚地感谢任何反馈。我努力提供深思熟虑的答案,如果我能了解是什么促使我投反对票,我就可以学习并改进这个和未来的答案。谢谢
猜你喜欢
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多