Фильтрация строк в DataFrame на основе данных в Серии с ошибками в диапазоне DataFrame - PullRequest
1 голос
/ 27 марта 2019

Я задал несколько дней назад вопрос, на который был чудесно дан ответ: Фильтрация строк в DataFrame на основе данных в серии

Это очень хорошо работает с оригинальным DataFrame:

yourdf=df[df.set_index(['YEAR','CATEGORY']).GRADE.gt(s).values]
yourdf

   YEAR CATEGORY  GRADE
1  1999        A    7.2
3  1999        B    6.4
7  2000        B    8.4

Но если я получу только несколько строк, подобных следующей, я получу эту ошибку:

df = df[2:]
yourdf=df[df.set_index(['YEAR','CATEGORY']).GRADE.gt(s).values]

ValueError: Item wrong length 7 instead of 6.

Как я могу сделать это с подмножеством DataFrame?

Спасибозаранее!

1 Ответ

1 голос
/ 27 марта 2019

Быстрое исправление с reindex

df=df.set_index(['YEAR','CATEGORY'])
yourdf=df[df.GRADE.gt(s.reindex(df.index)).values]
yourdf
Out[250]: 
               GRADE
YEAR CATEGORY       
2000 B           8.4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...