Скажем, у меня есть время серия dataframe с категориальным переменным и значением:Выбора строк до и после строки, представляющего интереса в пандах
In [4]: df = pd.DataFrame(data={'category': np.random.choice(['A', 'B', 'C', 'D'], 11), 'value': np.random.rand(11)}, index=pd.date_range('2015-04-20','2015-04-30'))
In [5]: df
Out[5]:
category value
2015-04-20 D 0.220804
2015-04-21 A 0.992445
2015-04-22 A 0.743648
2015-04-23 B 0.337535
2015-04-24 B 0.747340
2015-04-25 B 0.839823
2015-04-26 D 0.292628
2015-04-27 D 0.906340
2015-04-28 B 0.244044
2015-04-29 A 0.070764
2015-04-30 D 0.132221
Если я заинтересован в рядах с категорией А, фильтрованием изолировать они тривиальны. Но что, если меня интересуют n строк до Категория А также? Если п = 2, я хотел бы увидеть что-то вроде:
In [5]: df[some boolean indexing]
Out[5]:
category value
2015-04-20 D 0.220804
2015-04-21 A 0.992445
2015-04-22 A 0.743648
2015-04-27 D 0.906340
2015-04-28 B 0.244044
2015-04-29 A 0.070764
Точно так же, что, если я заинтересован в п строк вокруг категории элементов а? Опять же, если n = 2, я хотел бы видеть это:
In [5]: df[some other boolean indexing]
Out[5]:
category value
2015-04-20 D 0.220804
2015-04-21 A 0.992445
2015-04-22 A 0.743648
2015-04-23 B 0.337535
2015-04-24 B 0.747340
2015-04-27 D 0.906340
2015-04-28 B 0.244044
2015-04-29 A 0.070764
2015-04-30 D 0.132221
Спасибо!
Вы могли бы найти это полезным: http://stackoverflow.com/questions/28837633/pandas-get-position-of-a-given- индекс-в-dataframe –