索引具有相同索引的两个Panda DataFrame时的键错误

时间:2017-09-14 11:56:12

标签: python pandas dataframe indexing datetimeindex

Python 2.7,spyder,Anaconda安装的所有软件包。该代码运行良好,升级到pandas 0.20.3

尝试使用unicode字符串日期' 2017-09-13'

索引两个数据帧,天和udly

他们都有相同的指数

map $request_method $max_size {
    default       3m;
    PUT           1m;
    GET           1m;
}

location ~ /api/v1/films/(.*)/thumb {
    proxy_buffers 6 500k;
    proxy_busy_buffers_size 1m;
    client_max_body_size $max_size;
    client_body_buffer_size $max_size;
    proxy_pass http://backend;
}

在为数据框编制索引时,一切顺利

    udly.index[-1]

    Out[13]: Timestamp('2017-09-13 00:00:00')

    days.index[-1]

    Out[14]: Timestamp('2017-09-13 00:00:00')

但是当索引数据帧天时,事情变得棘手

    udly['2017-09-13']

    Out[15]: 
        CLOSE       VOLUME   ytm_1  ATMstk
    2017-09-13  2.739  307060583.0  3.4912    2.75

更新

使用.loc进行索引有效,但返回给我一个Pandas.Series,但我真的想知道为什么会发生这种情况,为什么我无法索引数据帧。

    days['2017-09-13']
    Traceback (most recent call last):
    ...........
      File "pandas\_libs\index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas\_libs\index.c:5280)

      File "pandas\_libs\index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas\_libs\index.c:5126)

      File "pandas\_libs\hashtable_class_helper.pxi", line 1210, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas\_libs\hashtable.c:20523)

      File "pandas\_libs\hashtable_class_helper.pxi", line 1218, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas\_libs\hashtable.c:20477)

    KeyError: '2017-09-13'
更棘手的是,我可以使用诸如' 2017-09'等特定索引来编制数据帧天数。它有效,但我真的需要索引特定的一天。

type(udly['2017-09-13'])
Out[23]: pandas.core.frame.DataFrame

type(days.loc['2017-09-13'])
Out[24]: pandas.core.series.Series

0 个答案:

没有答案