【发布时间】:2021-03-09 11:45:06
【问题描述】:
我是 Python 新手,想知道是否有人可以帮助我完成以下任务。
我有以下数据框 df,其中包含以下列:
- 主要 ID
- 次要 ID
- 实体类型
- 价值
每个主要实体(实体类型:A)可能包含一些次要实体(实体类型;X 或 Y)。对于实体类型 A,主 ID 与辅助 ID 相同。此外,每个主要实体和每个次要实体都有一个值。
在“次要 id X 值总和”和“次要 id Y 值总和”列中,我希望获得与每个主要实体相对应的次要实体(X 和 Y)的合计值。聚合值应该在主要实体的行中。
所以,我最初的 df 是这样的:
| Primary ID | Secondary ID | Entity type | Value |
|---|---|---|---|
| 0109 | 0109 | A | 200 |
| 0109 | A234 | X | 100 |
| 0109 | A234 | X | 50 |
| 9996 | 9996 | A | 400 |
| 9996 | AAGT | X | 120 |
| 9996 | AABG | X | 30 |
| 9996 | 0082 | Y | 50 |
| A765 | A765 | A | 50 |
我只想添加 2 列,而不更改初始数据框的格式:
| Primary ID | Secondary ID | Entity type | Value | Sum of values Secondary id X | Sum of values Secondary id Y |
|---|---|---|---|---|---|
| 0109 | 0109 | A | 200 | 150 | 0 |
| 0109 | A234 | X | 100 | 0 | 0 |
| 0109 | A234 | X | 50 | 0 | 0 |
| 9996 | 9996 | A | 400 | 150 | 50 |
| 9996 | AAGT | X | 120 | 0 | 0 |
| 9996 | AABG | X | 30 | 0 | 0 |
| 9996 | 0082 | Y | 50 | 0 | 0 |
| A765 | A765 | A | 50 | 0 | 0 |
谢谢!
【问题讨论】:
标签: python pandas dataframe sum aggregate