【发布时间】:2022-06-10 23:18:47
【问题描述】:
我想对二维相空间中的所有剩余条目求和。对于我有一个 2d 多索引并且我想单独获取每个 v1 的 cumsum 的情况,执行以下操作就足够了:
df['output'] = df.loc[::-1].groupby(['v1'])['value'].cumsum()[::-1]
| v1 | v2 | value | output |
|---|---|---|---|
| 1 | 1 | 1 | 3 |
| 1 | 2 | 1. | 2. |
| 1 | 3 | 1 | 1. |
| 2 | 1 | 1. | 3. |
| 2 | 2 | 1. | 2. |
| 2 | 3. | 1. | 1. |
| 3 | 1 | 1. | 3. |
| 3 | 2 | 1. | 2. |
| 3 | 3 | 1. | 1. |
但我想同时集成 v1 和 v2。例如如果 v1=2 和 v2=3,我想要结果 (v1=2 & v2=3) + (v1=3 & v2&3)。或者对于同一张表,想要的结果:
| v1 | v2 | value | output |
|---|---|---|---|
| 1 | 1 | 1 | 9 |
| 1 | 2 | 1. | 6. |
| 1 | 3 | 1 | 3. |
| 2 | 1 | 1. | 6. |
| 2 | 2 | 1. | 4. |
| 2 | 3. | 1. | 2. |
| 3 | 1 | 1. | 3. |
| 3 | 2 | 1. | 2. |
| 3 | 3 | 1. | 1. |
任何想法如何做到这一点?
【问题讨论】:
-
我不确定发生了什么,但似乎是
(df.v1 *df.v2)[::-1]