Pandas знак переворачивания в определенных строках фрейма данных - PullRequest
0 голосов
/ 13 июля 2020

У меня есть фрейм данных, который выглядит следующим образом:

      underlyingSymbol           symbol                  description  averagePrice  marketValue putCall  shortQuantity  longQuantity
    0             COST  COST_071720P285   COST Jul 17 2020 285.0 Put         1.947        0.080     PUT            0.0           1.0
    1             COST  COST_071720P290   COST Jul 17 2020 290.0 Put         2.493       -0.115     PUT            1.0           0.0
    2             COST  COST_071720C330  COST Jul 17 2020 330.0 Call         2.383       -2.370    CALL            1.0           0.0
    3             COST  COST_071720C335  COST Jul 17 2020 335.0 Call         1.587        1.200    CALL            0.0           1.0
    4              GLD   GLD_071720P151    GLD Jul 17 2020 151.0 Put         0.887        0.015     PUT            0.0           1.0
    5              GLD   GLD_071720P154    GLD Jul 17 2020 154.0 Put         1.413       -0.020     PUT            1.0           0.0
    6              GLD   GLD_071720C169   GLD Jul 17 2020 169.0 Call         1.583       -1.655    CALL            1.0           0.0
    7              GLD   GLD_071720C172   GLD Jul 17 2020 172.0 Call         1.137        0.450    CALL            0.0           1.0

Я пытался перевернуть знаки в столбце averagePrice, но только если shortQuantity больше longQuantity

Предполагается, что это будет конечный результат:

  underlyingSymbol           symbol                  description  averagePrice  marketValue putCall  shortQuantity  longQuantity
0             COST  COST_071720P285   COST Jul 17 2020 285.0 Put         1.947        0.080     PUT            0.0           1.0
1             COST  COST_071720P290   COST Jul 17 2020 290.0 Put         -2.493       -0.115     PUT            1.0           0.0
2             COST  COST_071720C330  COST Jul 17 2020 330.0 Call         -2.383       -2.370    CALL            1.0           0.0
3             COST  COST_071720C335  COST Jul 17 2020 335.0 Call         1.587        1.200    CALL            0.0           1.0
4              GLD   GLD_071720P151    GLD Jul 17 2020 151.0 Put         0.887        0.015     PUT            0.0           1.0
5              GLD   GLD_071720P154    GLD Jul 17 2020 154.0 Put         -1.413       -0.020     PUT            1.0           0.0
6              GLD   GLD_071720C169   GLD Jul 17 2020 169.0 Call         -1.583       -1.655    CALL            1.0           0.0
7              GLD   GLD_071720C172   GLD Jul 17 2020 172.0 Call         1.137        0.450    CALL            0.0           1.0

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Это также даст вам желаемый результат

df.loc[df['shortQuantity'] < df['longQuantity'],'averagePrice'] = -df['averagePrice']
0 голосов
/ 13 июля 2020

Приведенный ниже код должен дать вам то, что вы хотите.

df.loc[df['shortQuantity'] < df['longQuantity'],'averagePrice'] = df['averagePrice'] * -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...