我有一个 df

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

我想知道如何仅当 delta2delta1 时才将 delta1 > 0 的值分配给 delta2 <= 0 ;结果看起来像,
delta1    delta2
  0         -1
  0          0
 -1          0
  0          0

最佳答案

使用 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

关于python - 当第 1 列 > 0 且第 2 列 <= 0 时,如何将值从第 1 列分配到第 2 列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55168663/

10-11 19:29