gpt4 book ai didi

python - 堆叠数据框列( Pandas )

转载 作者:行者123 更新时间:2023-11-28 21:40:39 25 4
gpt4 key购买 nike

我正在寻找一种方法来反向旋转数据框。据我所知,pandas 提供了一种 pivot 或 pivot_table 方法来将 EAV df 转换为“正常”df。但是,有没有办法反过来做呢?

所以给定数据框:

$df
userid A B C
0 1 1 0
1 1 3 1
2 1 5 0

我想将其转换为(EAV 模型):

$df
E A V<br/>
0 A 1
0 B 1
0 C 0
1 A 1
1 B 3
1 C 1
2 A 1
2 B 5
2 C 0

这样做最有效的方法是什么?

最佳答案

假设 userid 是索引,df.stack 会这样做:

In [133]: df.stack().reset_index().rename(columns={'userid' : 'E', 'level_1' : 'A', 0 : 'V'})
Out[133]:
E A V
0 0 A 1
1 0 B 1
2 0 C 0
3 1 A 1
4 1 B 3
5 1 C 1
6 2 A 1
7 2 B 5
8 2 C 0

如果 userid 不是索引,则这样设置:

df.set_index('userid', inplace=True)

关于python - 堆叠数据框列( Pandas ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45376000/

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