【发布时间】:2021-12-22 21:57:52
【问题描述】:
我有一个 pandas 数据框,如果它们具有相同的组,我需要减去行。
输入数据框:
| A | B | Value |
|---|---|---|
| A1 | B1 | 10.0 |
| A1 | B1 | 5.0 |
| A1 | B2 | 5.0 |
| A2 | B1 | 3.0 |
| A2 | B1 | 5.0 |
| A2 | B2 | 1.0 |
预期的数据框:
| A | B | Value |
|---|---|---|
| A1 | B1 | 5.0 |
| A1 | B2 | 5.0 |
| A2 | B1 | -2.0 |
| A2 | B2 | 1.0 |
逻辑:例如数据帧的第一行和第二行在 A1 和 B1 组中,因此值必须是 10.0 - 5.0 = 5.0。 4º 和 5º 行也具有相同的组,因此值必须是 3.0 - 5.0 = -2.0。
仅当 A 值和 B 值相同时才减去行。
谢谢!
【问题讨论】:
-
解释什么是逻辑
-
数据有哪些假设?每个 (A, B) 对最多有 2 行吗?这两行是总是相邻的还是可以散开的?减法是否应该始终按照这些行出现的顺序进行?
-
每对(A,B)最多有 2 行。这些行总是相邻的。减法总是按照这些行出现的顺序。谢谢!