Python 数据帧中的多个条件-np.where

Python 数据帧中的多个条件-np.where,python,pandas,dataframe,if-statement,Python,Pandas,Dataframe,If Statement,我有以下数据帧 Year M 1991-1990 10 1992-1993 9 我试图这样做的是一个if语句:=if(M>9,左(年),右(C2,4))*1 所以基本上,如果M,如果10,选择列year的左边值,否则选择第二个值 我尝试使用np.where,但我不知道如何在同一列中的两个值之间进行选择 帮助?您可以执行以下操作: In [448]: df['val'] = np.where( df['M'].gt(9),\ ...:

我有以下数据帧

Year          M  
1991-1990     10
1992-1993      9
我试图这样做的是一个if语句:=if(M>9,左(年),右(C2,4))*1

所以基本上,如果M,如果10,选择列year的左边值,否则选择第二个值

我尝试使用np.where,但我不知道如何在同一列中的两个值之间进行选择

帮助?

您可以执行以下操作:

In [448]:  df['val'] = np.where( df['M'].gt(9),\ 
     ...:                       df.Year.str.split('-').tolist()[0],\ 
     ...:                       df.Year.str.split('-').tolist()[1] )                                                                                                                                         


In [444]: df                                                                                                                                                                                                
Out[444]: 
        Year   M   val
0  1991-1990  10  1991
1  1992-1993   9  1993