如果dataframe为空,Pandas 0.17.1错误减去datetime64 [ns] cols

时间:2016-02-17 21:59:12

标签: python-2.7 pandas

我刚刚从pandas 0.16.2更新到0.17.1,现在在执行0.16.2中正常工作的现有代码时出现此错误

TypeError: ufunc substract cannot use operands with types dtype('<M8[ns]') and dtype('O')

我试图在给定特定条件的情况下在数据帧的子集上减去两个datetime64 cols。仅当子集为空时才会出现错误。在0.16.2中,下面的示例代码返回一个带有NaN值的新列D,但是在0.17.1中我得到了上述错误。

有什么想法吗?我需要让这段代码再次运行,并希望不要降级回0.16.2

df = pd.DataFrame({'A': [1,2], 'B': ['2016-02-11 05:15:34', '2016-02-11 04:04:54'], 'C': ['2016-02-11 14:08:02', '2016-02-12 01:58:51']})
df['B'] = pd.to_datetime(df['B'])
df['C'] = pd.to_datetime(df['C'])
ix = df['A']==3
df.loc[ix, 'D'] = (df[ix]['C'] - df[ix]['B']) / np.timedelta64(1, 's')

df在0.16.2中返回:

   A                   B                   C   D
0  1 2016-02-11 05:15:34 2016-02-11 14:08:02 NaN
1  2 2016-02-11 04:04:54 2016-02-12 01:58:51 NaN

0 个答案:

没有答案