Я работаю с этими данными из переписи США, что я импортируемые в dataframe и это выглядит следующим образом:Avoind переиндексация в панде dataframe
Мне нужна, чтобы определить состояние с большим количеством стран, т.е. мне нужно подсчитать количество элементов в столбце CTYNAME, которые имеют одно и то же имя STNAME. Однако я не могу этого сделать без повторной индексации фрейма данных (или создания нового фреймворка данных), который я нашел inneficient. Как я могу улучшить мое решение:
census_df.set_index(['STNAME','CTYNAME']).count(level=0)['SUMLEV'].argmax()
Как насчет 'census_df. GroupBy ('STNAME') [ 'CTYNAME']. размер(). nlargest (1) '? – IanS
@IanS Это отлично работает. Однако я не понимаю, что такое объект groupby. Разве это также не создает объект с одинаковым размером кадра данных, поэтому он неэффективен? Кроме того, я не знал самой большой функции - чрезвычайно полезен! – cinico
Здесь 'groupby' создаст новый объект, но в нем будет столько строк, сколько состояний и один столбец. Честно говоря, я не думаю, что ваше решение было так плохо, хотя это, вероятно, не так, как это делали бы большинство пользователей панд. – IanS