Вероятно, довольно интересный вопрос для начинающих, но я просто учусь использовать Pandas в Python. Я хотел бы выполнить групповую работу, используя Pandas, которая включает группы, которых нет в наборе данных. Допустим, у меня есть следующие данные:
State Year Number
Alabama 2010 2
Texas 2013 1
Mississippi 2011 6
Florida 2010 4
Alabama 2012 1
Texas 2010 8
Mississippi 2019 5
Florida 2017 3
Я бы хотел использовать группирование для суммирования чисел по штатам, а затем по годам, но я бы хотел включить все 50 штатов (поэтому у меня будет тонны нулей в этом примере).
Я могу сделать это только с состояниями, включенными в фрейм данных, без проблем:
grouped = df.groupby(['State', 'Year'])['Number'].sum()
Но если я попытаюсь сгруппировать по У меня есть серия из 50 имен штатов, подобная этой:
states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'District of Columbia', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Northern Mariana Islands', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']
grouped = df.groupby([states, 'Year'])['Number'].sum()
Я сталкиваюсь с проблемами. Есть ли простой способ сделать это?