Мои данные выглядят следующим образом:
Sequence| type | sg |
+-----------------+----------------+----------+
| 1| Pump |3 |
| 2| Pump |2 |
| 3| Inject |4 |
| 4| Pump |5 |
| 5| Pump |3 |
| 6| pump |6 |
| 7| Inject |7 |
| 8| Inject |8 |
| 9| Pump |9 |
+-----------------+----------------+----------+
Я хочу добавить новый столбец и проверить предыдущее значение type
.
Если предыдущее значение type
равно Pump
, установите значение нового столбца равным значению соответствующего sg
.
Если это inject
, то получите сумму значений sg
всех предыдущих строк до строки с Pump
type
найдено (его значение sg
включено в сумму).
EX: Для Sequence = 2
* * * * * * * * * * * * * * * * *, тогда предыдущий ряд равен Pump
, поэтому новый столбец значение должно соответствовать значению соответствующего столбца sg
: 3.
Для Sequence = 9
значение type
предыдущей строки равно Inject
, поэтому значение нового столбца будет суммой трех предыдущих строк ' sg
столбец, поскольку Sequence = 6
строка является первой предыдущей строкой с type = Pump
. Значение нового столбца будет тогда 8 + 7 + 6 = 21
.
Окончательный результат должен быть таким:
Sequence| type | sg | New sg |
+-----------------+----------------+----------+--------+
| 1| Pump |3 |-
| 2| Pump |2 |3
| 3| Inject |4 |2
| 4| Pump |5 |6
| 5| Pump |3 |5
| 6| pump |6 |3
| 7| Inject |7 |6
| 8| Inject |8 |7
| 9| Pump |9 |21
+-----------------+----------------+----------+