熊猫数据框中的多个条件-np.where

时间:2020-04-30 02:06:51

标签: python pandas dataframe if-statement

我有以下数据框

Year          M  
1991-1990     10
1992-1993      9

我要这样做的是一个if语句: = IF(M> 9,LEFT(Year),RIGHT(C2,4))* 1

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

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

帮助?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

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