Использование выбора строки панд после sort_index - PullRequest
0 голосов
/ 28 мая 2018

Я не могу понять, почему без комментариев ts = ts.sort_index() в приведенном ниже коде выбрасывается ErrorKey:

import datetime
import pandas as pd

df = pd.DataFrame({
    'x': [2, 1, 3],
    'd': [
        datetime.datetime(2018, 5, 21),
        datetime.datetime(2018, 5, 20),
        datetime.datetime(2018, 5, 22)
    ]
})

ts = df.set_index('d')
#ts = ts.sort_index()

ts['2018-05-21']

Я предполагаю, что sort_index в некотором роде генерирует новый индекс и, следовательно, ломаетсявыбор строки, но я не могу найти никаких доказательств этого.

Чтобы обеспечить некоторый контекст, я хочу отсортировать этот временной ряд, чтобы выбрать временной диапазон (например, ts['2018-05-21':]).Если я не сортирую это, это работает для примера выше, но не для временного диапазона.

1 Ответ

0 голосов
/ 28 мая 2018

Я рекомендую использовать .loc

#ts = df.set_index('d')
#ts = ts.sort_index()
ts.loc['2018-05-21':,:]
Out[102]: 
            x
d            
2018-05-21  2
2018-05-22  3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...