Несколько условий в pandas данных - np.where - PullRequest
2 голосов
/ 30 апреля 2020

У меня есть следующий фрейм данных

Year          M  
1991-1990     10
1992-1993      9

То, что я пытаюсь сделать, так это выражение if: = IF (M> 9, LEFT (год), RIGHT (C2,4)) * 1

Таким образом, в основном, если M, если 10, выбирает левое значение столбца year, в противном случае выбирает второе значение

. Я пытался использовать np.where, но не знаю, как выбрать между двумя значениями в одном столбце.

Помощь?

1 Ответ

1 голос
/ 30 апреля 2020

Вы можете сделать это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...