gpt4 book ai didi

python - 根据列数重构 pandas 数据框

转载 作者:行者123 更新时间:2023-12-02 09:28:07 25 4
gpt4 key购买 nike

我有以下 pandas 数据框。

ID   Col1   Col2   Col3   Col4   Col5   Col6   Col7   Col8   Col9
1 A B C A B C A B C
2 D E F D E F D E F

我想通过重组每三列的值来得到下表。

ID   Col_1   Col_2   Col_3
1 A B C
A B C
A B C

2 D E F
D E F
D E F

或者

ID   Col_1   Col_2   Col_3
1 A B C
1 A B C
1 A B C
2 D E F
2 D E F
2 D E F

有什么有效的方法吗?我尝试在 StackOverflow 社区找到类似的示例,但没有找到。有的话可以指点我一下。

感谢任何帮助!

最佳答案

您可以使用DataFrame.stack具有由整数和模除法创建的所有不带 IDMultiIndex 列:

df = df.set_index('ID')
c = np.arange(len(df.columns))
df.columns = [c // 3, c % 3]
df1 = (df.stack()
.reset_index(level=1, drop=True)
.rename(columns= lambda x: f'Col_{x+1}')
.reset_index())
print (df1)
ID Col_1 Col_2 Col_3
0 1 A A A
1 1 B B B
2 1 C C C
3 2 D D D
4 2 E E E
5 2 F F F

关于python - 根据列数重构 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60527174/

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