【发布时间】:2012-11-21 11:23:14
【问题描述】:
我无法使用以前版本的 Pandas 的新版本 0.9.1(在 Python 2.7 下)运行某段代码。
我运行的代码如下:
myfunc = lambda x: makeDfCurve(frame,x)
dates = Series(frame.index, index = frame.index) # new Time series filled temporarily
# with dates taken from a certain dataframe 'frame' index
# and here's where the code crash:
frame['curve'] = dates.apply(myfunc)
我收到以下错误:
TypeError: ufunc 'subtract' 不支持输入类型和输入 根据强制转换规则“安全”,无法安全地强制转换为任何支持的类型
我尝试递归该函数以查看在 lambda 定义中作为 x 参数传递的某些日期是否有错误,但我在任何时候都得到了正确的结果。但是该方法不再起作用,我不知道为什么。我会很感激你的帮助和想法。
谢谢
附:我想用以下内容编辑我的问题,因为事实上,经过进一步调查:
这个错误是由于新版本的 Pandas 引起的:TimeSeries 的索引是“类'pandas.lib.Timestamp'”类型,因此它给我的函数带来了一个问题,它需要一个日期时间对象。
【问题讨论】:
-
这只是一个需要 datetime.datetime 值的基本功能,我将编辑我的问题以提供更多信息。