У меня есть pandas df, и я пытаюсь вернуть серию панд, заполненную bools, для каждой строки, где оно имеет значение True, если значение равно min в соответствующем объекте groupby, и False в противном случае.
Использование преобразования работает нормально.
df.groupby(grouping_column)[value_column].transform(lambda x:x == min(x))
Но это мучительно медленно. Я просмотрел документы, и ни один из других групповых методов, похоже, не решил эту проблему. У кого-нибудь есть какие-либо идеи? Возможно, сортировка, затем взятие first()
и сравнение этого со всеми другими записями в группе? Кстати, я хотел бы сохранить ту же индексацию, что и в оригинальном df
. Спасибо!