【发布时间】:2023-03-25 04:08:01
【问题描述】:
我想使用 Pandas 重现“desired_outcome”列。基本上每次“Acc Type”等于O时,我都必须取Balance和Amount之和。
+--------+----------+-------+---------+--------+----------+-----------------+
| MainID | Date | SubID | Balance | Amount | Acc Type | desired_outcome |
+--------+----------+-------+---------+--------+----------+-----------------+
| 1 | 1/1/2020 | 1 | 10 | 5 | O | 15 |
| 1 | 1/1/2020 | 1 | 10 | 4 | R | 10 |
| 1 | 1/1/2020 | 2 | 20 | 5 | O | 25 |
| 1 | 1/1/2020 | 2 | 20 | 4 | R | 20 |
| 1 | 1/1/2020 | 3 | 30 | 5 | O | 35 |
| 1 | 1/1/2020 | 3 | 30 | 4 | R | 30 |
| 1 | 2/1/2020 | 1 | 40 | 5 | O | 45 |
| 1 | 2/1/2020 | 1 | 40 | 4 | R | 40 |
| 1 | 2/1/2020 | 2 | 50 | 5 | O | 55 |
| 1 | 2/1/2020 | 2 | 50 | 4 | R | 50 |
| 1 | 2/1/2020 | 3 | 60 | 5 | O | 65 |
| 1 | 2/1/2020 | 3 | 60 | 4 | R | 60 |
| 2 | 1/1/2020 | 7 | 100 | NaN | O | 100 |
| 2 | 1/1/2020 | 7 | 100 | NaN | R | 100 |
+--------+----------+-------+---------+--------+----------+-----------------+
另外,我知道这不是一个理想的数据框,理想的方法可能是拥有两个数据框。我该如何设置它,我将拥有如下所示的第二个数据框:并且仍然能够拥有如上所示的 desired_output 列(没有额外的行,因为 acc 类型将不再存在)
+--------+----------+------------+----------+
| MainID | Date | Acc Amount | Acc Type |
+--------+----------+------------+----------+
| 1 | 1/1/2020 | 5 | O |
| 1 | 1/1/2020 | 4 | R |
| 1 | 2/1/2020 | 5 | O |
| 1 | 2/1/2020 | 4 | R |
| 2 | 1/1/2020 | NaN | O |
| 2 | 1/1/2020 | NaN | R |
+--------+----------+------------+----------+
谢谢!
【问题讨论】:
标签: python pandas dataframe conditional-operator