#python #dataframe #pandas-groupby #dfply
#python #фрейм данных #pandas-groupby #dfply
Вопрос:
У меня есть этот фрейм данных (пожалуйста, обратитесь к рисунку ниже)
| State | County | Homicides
|--------------|---------------|-----------
| Ags | Calvillo | 4
| Mexico City | Alvaro O | 2
| Mexico City | Alvaro O | 3
| Mexico City | Miguel H | 2
| Gto | Leon | 1
| Gto | Leon | 1
Что я хочу сделать, это сгруппировать по округам и суммировать значение убийств. например
| State | County | Homicides
|--------------|---------------|-----------
| Ags | Calvillo | 4
| Mexico City | Alvaro O | 5
| Mexico City | Miguel H | 2
| Gto | Leon | 2
Как вы можете видеть, я суммирую значения убийств с тем же названием округа
Это была моя попытка
df1 >> group_by("County") >> summarize(County = X.County)
Но это не то, что я хочу, может кто-нибудь подсказать мне этот вопрос, пожалуйста.
Спасибо
Комментарии:
1.
df.group_by("County").agg('sum')
2. Спасибо! Но как насчет состояния моего столбца, этот ответ группируется по округам, но дает мне только столбец «Округ» и «Убийства», как я могу восстановить «Состояние» моего столбца?
3. Вам нужно будет добавить это в
group_by
4. df.groupby ([«State»,’County’]).agg(‘sum’), Да, я пробовал это, но я получаю только одно уникальное состояние в столбце «Состояние», и если у меня есть одно состояние с другим округом, я хочу сохранить состояние с округом, а не только одно уникальное состояние
Ответ №1:
С вашей помощью это была моя последняя строка кодов, которые помогли мне с этой проблемой
df1 = df1.groupby(['State',"County"]).agg('sum')
df1 =df1.reset_index()
df1
Это был мой результат
| State | County | Homicides
|--------------|---------------|-----------
| Ags | Calvillo | 4
| Mexico City | Alvaro O | 5
| Mexico City | Miguel H | 2
| Gto | Leon | 2