【发布时间】:2021-08-20 16:21:52
【问题描述】:
我必须使用数据框。我需要对数据框 A 执行操作。它看起来像这样:
| name | score |
|---|---|
| alpha | 16 |
| beta | 12 |
| gamma | 24 |
| delta | 16 |
第二个数据帧 B 是一个映射。
| name_in | name_out | weight |
|---|---|---|
| beta | beta_1 | 0.5 |
| beta | beta_2 | 0.3 |
| beta | beta_3 | 0.2 |
| omega | omega_1 | 0.9 |
| omega | omega_2 | 0.1 |
如果我在数据帧 A 上执行映射,我需要以下结果:
| name | score |
|---|---|
| alpha | 16 |
| beta_1 | 6 |
| beta_2 | 3.6 |
| beta_3 | 2.4 |
| gamma | 24 |
| delta | 16 |
因此,从概念上讲,我需要一个算法来检查名称是否出现在映射数据框中。如果是这样,我需要为映射中存在的许多值复制该行。另外,我需要将重复的分数乘以映射的权重。
在给定映射的情况下,该过程基本上增加了详细程度。
【问题讨论】:
-
为什么输出表中的'alpha'是14?它没有出现在映射表中。
-
是一个错字,感谢您通知我。数据框 A 中未出现在映射中的值保持不变。
标签: python pandas dataframe dictionary mapping