gpt4 book ai didi

python - Pandas : "distribute"列值到多行

转载 作者:行者123 更新时间:2023-11-28 17:28:02 27 4
gpt4 key购买 nike

我是 Pandas 新手,正在尝试解决以下问题。

我有一个大的 DataFrame (10000 x 28),如下所示。

Col1 Col2 Col3 Col4 Col5
A B C D E

如何将其 reshape 为如下所示?

Col1 Col2 NewColName
A B C
A B D
A B E

前两列保持不变,最后三列“分布”在它们之上。

我的目标是把一个大的DataFrame 变成“整齐的数据”

我尝试过 concat、stack 等方法,但我觉得我缺少一些优雅的方法来解决这个问题。

最佳答案

['Col1, 'Col2] 设置为 index 并使用 .stack()

df.set_index(['Col1', 'Col2']).stack()

Col1 Col2
A B 0 C
0 D
0 E

然后执行 .reset_index() 以按照您的示例进行格式化(您还可以添加 name='Col' 以获得与@jezrael 建议的相同结果:

df.reset_index(-1, drop=True).reset_index(name='Col')

Col1 Col2 0
0 A B C
1 A B D
2 A B E

关于python - Pandas : "distribute"列值到多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988859/

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