Как присвоить значения из столбца 1 столбцу 2, когда столбец 1> 0, а столбец 2 <= 0 - PullRequest
4 голосов
/ 14 марта 2019

У меня есть df,

delta1    delta2
  0         -1
  2          0
 -1          0
  0          0

Мне интересно, как присвоить значения delta2 delta1, только если delta1 > 0 и delta2 <= 0;результат выглядит так:

delta1    delta2
  0         -1
  0          0
 -1          0
  0          0 

Ответы [ 2 ]

6 голосов
/ 14 марта 2019

Использование numpy.where:

df['delta1'] = np.where(df.delta1.gt(0) & df.delta2.le(0), df.delta2, df.delta1)

   delta1  delta2
0       0      -1
1       0       0
2      -1       0
3       0       0
2 голосов
/ 14 марта 2019

Используйте ниже:

m=df.delta1.gt(0)&df.delta2.le(0)
df.loc[m,'delta1']=df.delta2
print(df)
   delta1  delta2
0       0      -1
1       0       0
2      -1       0
3       0       0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...