У меня есть такой код:Как сортировать GroupBy и фильтр, используя панда
grouped=L2014.groupby(['state','NAME'])
grouped.mask.value_counts(normalize=True,).sort_index()
результатов, как это:
state NAME mask
CO Adams False 0.407195
True 0.592805
Alamosa False 1.000000
Arapahoe False 0.460602
True 0.539398
Archuleta False 1.000000
Как сортировать номера в верхнем 5 крупнейших истинном значении? и вернуть его? нравится, как показать группу по убыванию истинного значения.
обновленный после попытки:
grouped.mask.value_counts(normalize=1).sort_index(level=2,ascending=False)
результатов
state NAME mask
TX Zavala True 0.057416
Zapata True 0.042623
Young True 0.928009
Yoakum True 0.886719
Wood True 0.604720
Wise True 0.859006
Wilson True 0.704336
Williamson True 0.269555
Wilbarger True 0.317355
Wichita True 0.067734
Wheeler True 0.992218
Wharton True 0.298335
Webb True 0.465170
Washington True 0.391229
Ward True 0.269036
Waller True 0.145650
Walker True 0.580991
Victoria True 0.076246
Van Zandt True 0.357858
Val Verde True 0.551620
Uvalde True 0.465817
Upton True 0.900000
Upshur True 0.595388
Tyler True 0.119469
Trinity True 0.215548
Travis True 0.684808
Как вы можете видеть, что истинное значение до сих пор не сортируется от самых больших до самых маленьких, и я хочу только первые 5 значений (5 NAME) для каждого состояния.
Обновлено:
После попытки:
L2014.groupby(['state','NAME']).mask.value_counts(normalize=True).filter(like='True', axis=0).nlargest(2000)
я получаю так:
state NAME mask
NE Furnas True 1.000000
OK Washita True 1.000000
TX Hall True 1.000000
SD Fall River True 1.000000
TX Throckmorton True 1.000000
KY Hamilton True 1.000000
IA Hancock True 1.000000
SD Bennett True 1.000000
TX Stonewall True 1.000000
Carson True 1.000000
SD Adams True 1.000000
OK Sebastian True 1.000000
TX McCurtain True 1.000000
Gray True 1.000000
OK Roger Mills True 1.000000
TX Childress True 1.000000
Reagan True 1.000000
KY Pittsylvania True 1.000000
TX Ochiltree True 1.000000
Motley True 1.000000
Collingsworth True 1.000000
OK Harmon True 1.000000
KY Buchanan True 1.000000
KS Woodson True 1.000000
Wilson True 1.000000
Wichita True 1.000000
TX Hartley True 1.000000
KS Cloud True 1.000000
Decatur True 1.000000
Elk True 1.000000
IA Taylor True 1.000000
это делает группа государством больше. спасибо
Вы должны показать выход, а для ясности. – Vipin
Выход показан как указано выше – alice
Пожалуйста, разместите образец входных данных и желаемый результат (на основе вашего набора данных ввода образца). Я уверен: у вас будет ответ в течение нескольких минут, если вы дадите людям возможность проверить свое решение ... [Как сделать хорошие воспроизводимые примеры панд] (http://stackoverflow.com/questions/ 20109391/how-to-make-good-reproducible-pandas-examples) – MaxU