gpt4 book ai didi

python - Pandas 数据帧KeyError : 'the label [2019-01-14] is not in the [index]'

转载 作者:行者123 更新时间:2023-11-28 18:59:35 26 4
gpt4 key购买 nike

所以我发誓我遇到了一个错误,但我希望有人能证明我是错的。

我可以生成两种不同格式的 Pandas DataFrame,我无法使用的是首选格式,第二个提到。第一种格式如下所示:

     1. open          ...           8. split coefficient
date ...
1998-01-02 129.63 ... 1.0
1998-01-05 131.25 ... 1.0
1998-01-06 129.75 ... 1.0
1998-01-07 129.88 ... 1.0
1998-01-08 128.63 ... 1.0
1998-01-09 130.06 ... 1.0
1998-01-12 124.62 ... 1.0
1998-01-13 129.50 ... 1.0
1998-01-14 132.13 ... 1.0
[5292 rows x 8 columns]

我正在尝试选择日期最接近指定日期的行/条目。我使用以下功能这样做:

 def nearest(items, pivot):
nearest_date = min(items, key=lambda x: abs(dt.strptime(x, '%Y-%m-%d') - dt.strptime(pivot, '%Y-%m-%d')))
return nearest_date

然后从该条目对应的第四列正确获取一个值:

 market = (data.loc[nearest(data.index.get_values(), date)]['4. close'])

但是,在第二种格式中,我的 DataFrame 看起来像这样(使用基于整数的索引):

            date          ...           8. split coefficient
0 1998-01-02 ... 1.0
1 1998-01-05 ... 1.0
2 1998-01-06 ... 1.0
3 1998-01-07 ... 1.0
4 1998-01-08 ... 1.0
5 1998-01-09 ... 1.0
6 1998-01-12 ... 1.0
7 1998-01-13 ... 1.0
8 1998-01-14 ... 1.0
[5292 rows x 9 columns]

所以我相应地调整了我的“市场”等式:

market = (data.loc[nearest(data['date'].values, date)]['4. close'])

并得到这个错误:

KeyError: 'the label [2019-01-14] is not in the [index]'

我尝试了各种疯狂的方法,包括将日期列转换为 pd.datetime,但从未遇到过错误。你所看到的对我来说是有意义的,这就是为什么它是本文中尝试的解决方案。关于问题可能是什么的任何想法?

最佳答案

然后只需reset_index返回

data.reset_index(inplace=True)

在做

market = (data.loc[nearest(data['date'].values, date)]['4. close'])

关于python - Pandas 数据帧KeyError : 'the label [2019-01-14] is not in the [index]' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54191638/

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