首页 > 解决方案 > pandas.DataFrame.loc 不适用于索引日期

问题描述

我正在尝试按日期和值查找一条数据,但是,我不断收到错误消息。这是代码:

eth.loc['2020-08-13', 'Value']

这是错误:


        352                 except ValueError as err:
        353                     raise KeyError(key) from err
    --> 354             raise KeyError(key)
        355         return super().get_loc(key, method=method, tolerance=tolerance)
        356 
    
    KeyError: '2020-08-13'

谢谢!

标签: pythonpandasdataframe

解决方案


假设您有一个由以下内容定义的数据集:

eth = pd.DataFrame([['2020-08-13', 2], ['2020-08-14', 5], ['2020-08-15', 8]], 
                    index=['book1','book2','book3'], 
                    columns=['Date','Value'])

您可以获得值为 2 的项目:

eth.loc[eth['Value'] == 2]

您可以获得日期为 2020-08-13 的项目:

eth.loc[eth['Date'] == '2020-08-13']

推荐阅读