【发布时间】:2021-09-27 05:55:52
【问题描述】:
我有一个这样的数据框:
| SEG | FAM | GAMA | MIN_RAT | MAX_RAT | VALOR |
|---|---|---|---|---|---|
| PE | 001 | 002 | 1 | 2 | 5,15 |
| PE | 001 | 002 | 2,1 | 3 | 2,55 |
我需要“扩展” df 添加新行以创建一个新的数据框,如下所示:
| SEG | FAM | GAMA | MIN_RAT | MAX_RAT | VALOR |
|---|---|---|---|---|---|
| PE | 001 | 002 | 1 | 1 | 10,30 |
| PE | 001 | 002 | 1,1 | 1,1 | 9,79 |
| PE | 001 | 002 | 1,2 | 1,2 | 9,27 |
| PE | 001 | 002 | 1,3 | 1,3 | 8,76 |
| PE | 001 | 002 | 1,4 | 1,4 | 8,24 |
| PE | 001 | 002 | 1,5 | 1,5 | 7,73 |
| PE | 001 | 002 | 1,6 | 1,6 | 7,21 |
| PE | 001 | 002 | 1,7 | 1,7 | 6,70 |
| PE | 001 | 002 | 1,8 | 1,8 | 6,18 |
| PE | 001 | 002 | 1,9 | 1,9 | 5,67 |
| PE | 001 | 002 | 2 | 2 | 5,15 |
| PE | 001 | 002 | 2,1 | 2,1 | 5,10 |
| PE | 001 | 002 | 2,2 | 2,2 | 4,82 |
| PE | 001 | 002 | 2,3 | 2,3 | 4,53 |
| PE | 001 | 002 | 2,4 | 2,4 | 4,25 |
| PE | 001 | 002 | 2,5 | 2,5 | 3,97 |
| PE | 001 | 002 | 2,6 | 2,6 | 3,68 |
| PE | 001 | 002 | 2,7 | 2,7 | 3,40 |
| PE | 001 | 002 | 2,8 | 2,8 | 3,12 |
| PE | 001 | 002 | 2,9 | 2,9 | 2,83 |
| PE | 001 | 002 | 3 | 3 | 2,55 |
“VALOR”列的值被构造除法:
-
原始表的 5.15 由 MIN_RAT=1 和 MAX_RAT = 2 之间的新行数加上该值加上 5.15(在这种情况下,我们在每行中添加 0.515)
-
原始表的 2,55 乘以 MIN_RAT=2,1 和 MAX_RAT = 3 之间的新行数,然后将该值添加到 2.55(在这种情况下,我们在每行中添加 0.28)
是否有可能以最佳方式做到这一点?
【问题讨论】:
标签: python pandas dataframe rows expand