我需要帮助来更改数据框列和索引以将其设置为值
I need help to change dataframe columns and index to set this as values
想法是转换:
当前切片df
阿里卡和帕里纳科塔
塔拉帕卡
安托法加斯塔
阿塔卡马
科金博
瓦尔帕莱索
三月
6
10
35
2
28
15
我需要的df
月份
地区
人数
三月
阿里卡和帕里纳科塔
6
三月
塔拉帕卡
10
三月
安托法加斯塔
35
三月
阿塔卡马
2
三月
科金博
28
三月
瓦尔帕莱索
115
您需要通过 reset_index
保留索引值
df2 = pd.melt(df.reset_index(), id_vars= 'index', var_name = ['Region'], value_name = 'number').rename(columns= {'index': 'month'})
另一个解决方案是使用 pandas stack
df2 = df.stack().reset_index()
df2.columns = ['month', 'region', 'number']
想法是转换:
当前切片df
阿里卡和帕里纳科塔 | 塔拉帕卡 | 安托法加斯塔 | 阿塔卡马 | 科金博 | 瓦尔帕莱索 | |
---|---|---|---|---|---|---|
三月 | 6 | 10 | 35 | 2 | 28 | 15 |
我需要的df
月份 | 地区 | 人数 |
---|---|---|
三月 | 阿里卡和帕里纳科塔 | 6 |
三月 | 塔拉帕卡 | 10 |
三月 | 安托法加斯塔 | 35 |
三月 | 阿塔卡马 | 2 |
三月 | 科金博 | 28 |
三月 | 瓦尔帕莱索 | 115 |
您需要通过 reset_index
保留索引值df2 = pd.melt(df.reset_index(), id_vars= 'index', var_name = ['Region'], value_name = 'number').rename(columns= {'index': 'month'})
另一个解决方案是使用 pandas stack
df2 = df.stack().reset_index()
df2.columns = ['month', 'region', 'number']