gpt4 book ai didi

Pandas:无法将类型 转换为时间戳

转载 作者:行者123 更新时间:2023-12-04 02:05:33 25 4
gpt4 key购买 nike

尝试使用标签切片 Pandas 数据框时收到以下错误消息。

triggerDate = dat.loc[dat.Close <= threshold[0]][:1].index
cutDate= triggerDate.shift(1, 'd')
dat.truncate(before=triggerDate, after=cutDate)

TypeError: Cannot convert input [DatetimeIndex(['2010-05-05'], dtype='datetime64[ns]', name=u'Date', freq=None)] of type to Timestamp



我很困惑为什么不能使用 datetimeIndex 对象在这里切片这个 Pandas 数据帧,因为来自 truncating 的文档功能,这应该有效吗?为什么我仍然需要将 datetimeIndex 转换为 Timestamp?

所以我猜我可能会错过一些细节?任何帮助,将不胜感激。谢谢!

这是我的示例数据的代码和输出:
type(dat)

class 'pandas.core.frame.DataFrame'


dat.head(5)

Open High Low Close Volume Adj Close Cash Position
Date
2010-05-03 13.18 13.49 13.18 13.30 106416800 10.747104 11.7 9988.3
2010-05-04 13.07 13.08 12.75 12.85 123207400 10.383480 0.0 0.0
2010-05-05 12.32 12.70 11.59 12.34 198525600 9.971373 0.0 0.0
2010-05-06 12.17 12.51 10.59 11.78 237094700 9.518863 0.0 0.0
2010-05-07 11.95 11.97 10.95 11.51 261066500 9.300689 0.0 0.0
triggerDate

DatetimeIndex(['2010-05-05'], dtype='datetime64[ns]', name=u'Date', freq=None)


type(triggerDate)

class 'pandas.tseries.index.DatetimeIndex'


type(cutDate)

class 'pandas.tseries.index.DatetimeIndex'

最佳答案

我想你需要 [0]用于转换 DatetimeIndex作为具有一个值的数组作为标量:

triggerDate = dat.loc[dat.Close <= threshold[0]][:1].index[0]

或更好:
triggerDate = dat.index[dat.Close <= threshold[0]][0]

关于Pandas:无法将类型 <class 'pandas.tseries.index.DatetimeIndex' > 转换为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43678288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com