numpy.where: TypeError: 无效类型提升

Joh*_*nin 7 python numpy pandas

我知道还有其他问题具有相同的错误名称,但没有一个与 np.where 语句匹配,而且我也找不到我的问题的答案

所以我做了一个大熊猫DataFrame被称为data开创了Series出来叫dates,那就是:

dates= pd.to_datetime(pd.to_timedelta(data.a_date, unit= 'D') + pd.datetime(1960,1,1), 
                      errors= 'coerse')
Run Code Online (Sandbox Code Playgroud)

我需要清除一些日期,因为它们与 中的指示符不匹配data,所以我尝试调整它,同时使用 保持索引正确numpy.where
但我收到了这个错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-18-2b83ed2b2468> in <module>()
----> 1 np.where(((dates.notnull()) & (data.a_IND == 0)), np.nan, dates)

TypeError: invalid type promotion
Run Code Online (Sandbox Code Playgroud)

小智 17

如果要保留日期类型,请替换np.nannp.datetime64('NaT')

np.where(((dates.notnull()) & (data.a_IND == 0)), np.datetime64('NaT'), dates)
Run Code Online (Sandbox Code Playgroud)