我正在尝试过滤选定时间段的熊猫。 (已添加图片)开始日期和结束日期将在输入框中输入。
在索引列中找到“天”,但是第三行给出了错误消息。
df = pd.read_excel('prices.xlsx', index_col=0)
df.iloc[::-1]
filtered_date = df[(df['Day'] >= 'start_date') & (df['Day'] <= 'end_date')]
我收到“ KeyError”消息。我用谷歌搜索发现key_error如果字典中没有可用的键,就会发生。我在代码中没有使用字典,也不知道如何解决它。键“ Day”的确是第一(索引)行的第一个值。
谢谢。
答案 0 :(得分:0)
查看您的DataFrame图片:
您的代码包含 df ['Day'] ,因此您尝试引用常规 列为 Day 。 由于此名称的常规列不存在,因此将引发异常。
有2种应对方法:
当然,请放置任何有效的日期字符串,而不是开始日期和结束日期。
还有另一件事要考虑:由于 Day 实际上是一列 日期,它应该具有 datetime 类型。所以大概你应该加 将 parse_dates = [0] 参数设置为 read_excel ,以使此列从 string 到 datetime 。