使用ifelse条件创建新列(python)

时间:2018-05-30 17:26:03

标签: python numpy if-statement

我正在尝试创建一个新专栏' New'的是:

1)如果' 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 :(得分:-1)

解决

使用此: df.reset_index()