gpt4 book ai didi

python - 如何取消堆叠并将多列抓取到索引中?

转载 作者:行者123 更新时间:2023-12-01 23:43:55 24 4
gpt4 key购买 nike

import pandas as pd
df = pd.DataFrame({'season': ['A', 'B', 'A', 'B'],
'type': ['abc1', 'def1', 'abc1', 'def1'],
'metric1': [1, 1, 1, 1],
'metric_2': [2, 2, 2, 2],
'metric_3': [3, 3, 3, 3],
'metric_4': [4, 4, 4, 4]})

当我使用 unstack 时,我希望它将 metric_n 列作为 metric 并将其与季节和类型一起作为索引,对于度量值,给列名 value

完成此任务的最简单方法是什么?

----------------------------------------
| value |
| metric | season | type |
------------------------------------
| metric1 | A | abc1.| 1
1
1
1
| metric2 |. B | abc1.| 2
2
2
2
| metric3 |. A. | def1 | 3
3
3
3
| metric4 | B. | def1 | 4
4
4
4
----------------------------------------

最佳答案

您可以使用 .melt 并设置索引:

df = df.melt(id_vars=['season','type'], var_name='metric').set_index(['metric','season','type'])
df

Out[1]:
value
metric season type
metric1 A abc1 1
B def1 1
A abc1 1
B def1 1
metric_2 A abc1 2
B def1 2
A abc1 2
B def1 2
metric_3 A abc1 3
B def1 3
A abc1 3
B def1 3
metric_4 A abc1 4
B def1 4
A abc1 4
B def1 4

关于python - 如何取消堆叠并将多列抓取到索引中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64566957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com