Python R到numpy.where的转换

Python R到numpy.where的转换,python,pandas,numpy,Python,Pandas,Numpy,使用numpy.where语法用Python(pandas dataframe)编写以下R代码的最佳方法是什么 Data$new = ifelse(Data$Diff > 1.652*Data$Diff10, 1, ifelse(Data$Diff < 3.95*Data$Diff10, -1, 0 )) Data$new=ifelse(数据$Diff>1.652*数据$Diff10,1, ifelse(数据$Diff

使用numpy.where语法用Python(pandas dataframe)编写以下R代码的最佳方法是什么

Data$new = ifelse(Data$Diff > 1.652*Data$Diff10, 1,
                         ifelse(Data$Diff < 3.95*Data$Diff10, -1, 0 ))
Data$new=ifelse(数据$Diff>1.652*数据$Diff10,1,
ifelse(数据$Diff<3.95*数据$Diff10,-1,0))
您可以使用:

Data['new'] = np.where(Data['Diff'] > 1.652*Data['Diff10'], 1,
              np.where(Data['Diff'] < 3.95*Data['Diff10'], -1, 0 ))

作品谢谢你的帮助。非常感谢。非常感谢。也许你可以交换

Data = pd.DataFrame({'Diff':[2,4,.5],
                   'Diff10':[1,1,1]})

print (Data)
   Diff  Diff10
0   2.0       1
1   4.0       1
2   0.5       1

Data['new'] = np.where(Data['Diff'] < 1.652*Data['Diff10'], 2,
              np.where(Data['Diff'] > 3.95*Data['Diff10'], 3, 4 ))

print (Data)
   Diff  Diff10  new
0   2.0       1    4
1   4.0       1    3
2   0.5       1    2