gpt4 book ai didi

python - 你能帮我在python中旋转这个pandas数据框吗?

转载 作者:行者123 更新时间:2023-12-03 18:57:31 25 4
gpt4 key购买 nike

我想弄清楚如何在 Python 中旋转这个表。

example = {"ABC":{'2020-09':1.33,'2020-10':0.75,'2020-11':1.55},
"DEF":{'2020-09':1.22,'2020-10':1.75,'2020-11':2.73}}

df = pd.DataFrame(example)
df
Output of above code
我希望它像这样旋转:
example = {"Date":['2020-09','2020-10','2020-11','2020-09','2020-10','2020-11'],
"Col1":['ABC','ABC','ABC','DEF','DEF','DEF'],
"Col2":[1.33,0.75,1.55,1.22,1.75,2.73]}

df = pd.DataFrame(example)
df
Output of above code
我创建了两个字典来说明这里的问题。我有一个更大的代码来生成第一个数据帧。
你能帮我把第一个数据框转换成第二个吗?
谢谢
问候

最佳答案

最简单的版本大概是

df.unstack()
这为您提供了多索引的结果:
ABC  2020-09    1.33
2020-10 0.75
2020-11 1.55
DEF 2020-09 1.22
2020-10 1.75
2020-11 2.73
dtype: float64
如果你不想要多索引,你可以做
df.unstack().reset_index()


level_0 level_1 0
0 ABC 2020-09 1.33
1 ABC 2020-10 0.75
2 ABC 2020-11 1.55
3 DEF 2020-09 1.22
4 DEF 2020-10 1.75
5 DEF 2020-11 2.73
或者,
df.reset_index().melt(id_vars='index', var_name='key', value_name='value')

index key value
0 2020-09 ABC 1.33
1 2020-10 ABC 0.75
2 2020-11 ABC 1.55
3 2020-09 DEF 1.22
4 2020-10 DEF 1.75
5 2020-11 DEF 2.73

关于python - 你能帮我在python中旋转这个pandas数据框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65526864/

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