gpt4 book ai didi

python - Pandas 数据透视表排列没有带符号的聚合

转载 作者:行者123 更新时间:2023-12-02 18:08:22 25 4
gpt4 key购买 nike

我想在没有聚合的情况下对 pandas 数据框进行透视,而不是垂直呈现透视索引列,我想水平呈现它。

data = {'Period:': ['Value1', 'Value2', 'Value3', 'Value1', 'Value2', 'Value3'],
'2011': [10, 21, 20, 10, 39, 15],
'2012': [12, 45, 19, 10, 39, 15],
'2013': [12, 45, 19, 10, 39, 16],
'symbol': ['a','a','a','b','b','b']}
df = pd.DataFrame(data)
print (df)


Period: 2011 2012 2013 symbol
0 Value1 10 12 12 a
1 Value2 21 45 45 a
2 Value3 20 19 19 a
3 Value1 10 10 10 b
4 Value2 39 39 39 b
5 Value3 15 15 16 b

但我想拥有:

   Period:  Value1  Value2  Value3 symbol
0 2011 10 21 20 a
1 2012 12 45 19 a
2 2013 12 45 19 a
3 2011 10 39 15 b
4 2012 10 39 15 b
5 2013 10 39 16 b

最佳答案

你需要meltpivot:

(df.melt(['Period:', 'symbol'])
.pivot(['variable', 'symbol'], 'Period:', 'value')
.reset_index().rename_axis(index=None, columns=None)
.rename(columns={'variable':'Period:'})
)

输出:

   Period: symbol  Value1  Value2  Value3
0 2011 a 10 21 20
1 2011 b 10 39 15
2 2012 a 12 45 19
3 2012 b 10 39 15
4 2013 a 12 45 19
5 2013 b 10 39 16

关于python - Pandas 数据透视表排列没有带符号的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72862144/

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