我正在使用Axes3D,我想创建一个包含两个花车的3d图和一个熊猫系列的时间戳。情节函数如下所示:
ax.plot_wireframe(X = response['PCT_MONEYNESS'], Y = response['IVOL'], Z=response['EXPIRE_DT'])
当我尝试这个时,我收到了错误
"ufunc multiply cannot use operands with types dtype('float64') and dtype('<M8[ns]')"
我可以将日期时间改为几天,所以我回到我的数据框并使用以下代码进行编辑
response['EXPIRE_DT'] = response['EXPIRE_DT'].apply(lambda x: (x.to_pydatetime()-datetime.datetime.today()).days).astype(float)
当我只返回响应['EXPIRE_DT']时,我得到一个pandas系列数据类型float,这是预期的。但是,错误仍然存在。是否有另一个原因导致此错误弹出,尽管我没有尝试使用数据类型<M8[ns]
绘制任何内容?
编辑:根据要求,在编辑之前和之后从响应['EXPIRE_DT']输出。
在 -
ID
AAPL US 01/19/18 P85 Equity 2018-01-19
AAPL US 02/09/18 P170 Equity 2018-02-09
AAPL US 02/09/18 P167.5 Equity 2018-02-09
AAPL US 02/09/18 P165 Equity 2018-02-09
Name: EXPIRE_DT, dtype: datetime64[ns]
在 -
ID
AAPL US 01/19/18 P85 Equity 21.0
AAPL US 02/09/18 P170 Equity 42.0
AAPL US 02/09/18 P167.5 Equity 42.0
AAPL US 02/09/18 P165 Equity 42.0
Name: EXPIRE_DT, dtype: float64
其他两个数据帧是
的系列Name: PCT_MONEYNESS, dtype: float64
和
Name: IVOL, dtype: float64
分别。所以这三个变量都应该是float64
类型