#python #pandas #dataframe
#питон #панды #фрейм данных
Вопрос:
Столбец зарплата содержит два набора строк: '>50K'
и '<=50K'
использование pandas
вот как выглядит мой текущий код:
df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().tail()
он возвращает:
native-country
Thailand 3
Trinadadamp;Tobago 2
United-States 7171
Vietnam 5
Yugoslavia 6
чтобы получить страну с максимальным значением, я использовал этот код:
df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().sort_values(ascending = False)[0]
который возвращает: 7171 максимальное значение, которое я понимаю.
Как мне вернуть название страны? Т.е.: Соединенные Штаты?
Любое предложение будет оценено по достоинству
Комментарии:
1. Использовать
df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().sort_values(ascending = False).index[0]
Ответ №1:
Вы почти на месте. Все, что вам нужно, это воспользоваться функциями max и idxmax в pandas:
df.loc[df['salary'] == '>50K'].groupby('native-country')['native-country'].count().idxmax()