这是通过datetime对象切片数据帧来完成的。但问题是,切片数据没有输入到变量中。
该变量应为dataframe。当然,当我对数据帧进行切片时,切片的类型是数据帧。
df.tail()
Out[37]:
Price Open High ... Change % A Day % OC %
Date ...
2019-07-10 13435.0 13427.5 13545.0 ... 0.04 1.18 0.06
2019-07-11 13455.0 13432.5 13647.5 ... 0.15 1.75 0.17
2019-07-12 13552.5 13457.5 13645.0 ... 0.72 2.11 0.71
2019-07-15 13545.0 13557.5 13662.5 ... -0.06 2.65 -0.09
2019-07-16 13440.5 13552.5 13594.0 ... -0.77 1.23 -0.83
import datetime as dt
df.set_index('Date', inplace=True)
start = dt.datetime(2019,1,1)
end = dt.datetime.today().strftime('%Y-%m-%d')
df[start:end]代码df[start:end]运行得很好。但是,当我尝试variable = df[start:end]时,控制台显示
"KeyError:‘日期’“
我希望将数据帧df[start:end]输入到一个变量中。
提前谢谢。
发布于 2019-07-22 02:43:29
这对我来说很有效,你可以尝试的一件事是确保你的日期是正确的格式。
如果不是这样做:
df['Date'] = pd.to_datetime(df['Date'])

发布于 2019-07-22 02:32:20
您的start和end变量的格式可能不同:
start = dt.datetime(2019,1,1) #datetime
end = dt.datetime.today().strftime('%Y-%m-%d') #str为了让索引像预期的那样工作,一个建议是也将start转换为string:
start = dt.datetime(2019,1,1).strftime('%Y-%m-%d') #str
end = dt.datetime.today().strftime('%Y-%m-%d') #str这样,假设索引上的日期也是一个str,您的命令应该可以工作:
# if index is datetime, convert to string:
# df.index = df.index.apply(lambda x: .strftime('%Y-%m-%d'))
df[start:end]https://stackoverflow.com/questions/57135878
复制相似问题