【发布时间】:2021-01-14 09:59:20
【问题描述】:
我正在尝试在数据帧上使用 .loc 检索特定值。这曾经可以工作,但我已经升级到最新版本的 Pandas,它不再工作了。看看下面的示例数据和代码,有人知道这是怎么回事吗?
样本数据
Open High Low Close Volume
Date
2020-09-24 2906.500000 2962.000000 2871.000000 2960.469971 6117900
2020-09-25 3033.840088 3133.989990 3000.199951 3128.989990 6948800
代码
import pandas as pd
from datetime import date, timedelta
import datetime
yesterday = date.today() - timedelta(3)
symbol_data.loc[yesterday]['Close']
过去它会检索值“3128.989990”,即 2020 年 9 月 25 日的收盘价。
现在我得到“KeyError: datetime.date(2020, 9, 25)”。
当我查看索引时,它显示 DatetimeIndex(['2020-09-24', '2020-09-25'], dtype='datetime64[ns]', name='Date', freq=None )
如果我传递字符串值,它会起作用。但我需要使用我的变量来计算日期。
symbol_data.loc['2020-09-25']['Close'] ##this works, but I don't want to use a hard coded date
【问题讨论】:
标签: python pandas python-datetime