Создание нового столбца с условием ifelse (python) - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь создать новый столбец 'New', который:

1) если значения 'y' отличаются от нуля, дайте мне 'y'

2) если 'y'равно нулю, дайте мне значение' yhat '

           ds     y         ds       yhat
0    1999-03-05  45.0 1999-03-05  37.168417
1    1999-03-06  45.0 1999-03-06  37.109215
2    1999-03-07  45.0 1999-03-07  37.049726
3    1999-03-08  45.0 1999-03-08  36.987036
4    1999-03-09  45.0 1999-03-09  36.926852
5    1999-03-10  45.0 1999-03-10  36.864715
6    1999-03-11  45.0 1999-03-11  36.771622
7    1999-03-12  45.0 1999-03-12  36.712117
8    1999-03-13  45.0 1999-03-13  36.646144
9    1999-03-14  45.0 1999-03-14  36.578244
...         ...   ...        ...        ...
7356        NaT   0   2019-04-25   8.321119
7357        NaT   0   2019-04-26   8.315796

Для этого я использую эту функцию:

df['New'] = np.where(df['y']!=0, df['y'], df['yhat'])

Но я получаю сообщение об ошибке:

KeyError: 'y'

1 Ответ

0 голосов
/ 30 мая 2018

Решено

Использование этого: df.reset_index()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...