Не создавайте переменные без необходимости.Вместо этого используйте dict
или list
, например, через словарь или список.
В качестве альтернативы рассмотрите MultiIndex
столбцы и один pd.pivot_table
вызов:
dfs = {2011: df_2011, 2012: df_2012, 2013: df_2013}
comb = pd.concat([v.assign(year=k) for k, v in dfs.items()], ignore_index=True)
df = pd.pivot_table(comb, index='income', columns=['year', 'area'],
values='id', aggfunc='count')
Затем вы можете использовать обычные методы индексации для фильтрации по определенному году, например,
pivot_2011 = df.iloc[:, df.columns.get_level_values(0).eq(2011)]