可能是一个相当初学者的问题,但我正在学习如何在Python中使用Pandas。我想使用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
我想使用groupby按州和年份求和数字,但我希望包括所有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()
我遇到了问题。 有没有简单的方法可以解决这个问题?