尝试为我的 Dataframe 创建掩码,但无法将上限/下限日期时间与 Dataframe 的索引进行比较,因为它是datetime 64 [ns]。我已经看到解决方案是通过pd.Timestamp进行转换-但我仍然收到值错误。
此外,我还尝试转换索引,并抛出错误:“无法将输入...序列...转换为时间戳”
输入:
x = yf.Ticker('^GSPC').history(period='max',interval='1d').loc[:,['Open']]
stdate = pd.Timestamp(2015,12,31)
edate = dt.datetime.today()
y = x.index > stdate
实际输出:
*"Invalid comparison between dtype=datetime64[ns, TIMEZONE] and Timestamp"*
预期输出:
[FALSE, FALSE, FALSE, TRUE, TRUE... TRUE]
2条答案
按热度按时间k7fdbhmy1#
Datetime64索引可以通过.date细化到仅包含日期
会起作用
8ulbf1ek2#
使用数字.日期时间64
注意:似乎无法在时间感知日期时间之间进行比较,请使用
tz_localize
删除其时区也可以只将日期时间转换为时间戳(int)