Как рассчитать сумму столбца на основе двух условий в питоне - PullRequest
0 голосов
/ 26 февраля 2019

Привет, я новичок в python, и у меня есть такой набор данных:

enter image description here

Мне нужно создать две колонки Женский и Мужской, которые будут иметьобщее число рождений женщин и мужчин соответственно основано на десятилетии.Поэтому мой результирующий фрейм данных должен быть таким:

enter image description here

Я пытался использовать groupby, но это возвращает что-то вроде этого:

dataset.groupby(['десятилетие', 'пол']) ['рождения']. sum ()

enter image description here

Но мне нужны F и M как два дополнительныхстолбцы.

Не могли бы вы дать мне совет, что мне делать?Заранее спасибо !!!

1 Ответ

0 голосов
/ 27 февраля 2019
import pandas as pd

decade = [1960, 1960, 1960, 1960, 1960, 1960, 1970, 1970, 1970, 1970, 1970, 1970, 1980, 1980, 1980, 1980]
gender = ['F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'F', 'M']
births = [4192, 4198, 4710, 4850, 4646, 5092, 4800, 4934, 4126, 4324, 4758, 5076, 5070, 5296, 4798, 5096]

dataset = pd.DataFrame({
    'decade': decade,
    'gender': gender,
    'births' : births
})

Попробуйте:

df = dataset.groupby(['gender', 'decade'])['births'].sum()
df = df.unstack(level=0)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...