我需要将多列转换为一列,并以一个已经存在的列作为键标识符。我更愿意使用pandas来做,但是普通的python也可以。
桌子看起来像这样
ID Col1 Col2 Col3
01 'a' 'b' 'c'
02 'a' 'b' 'c'
03 'a' 'b' 'c'
所需的结果应如下所示:
ID Col1
01 'a'
01 'b'
01 'c'
02 'a'
02 'b'
02 'c'
03 'a'
03 'b'
03 'c'
谢谢大家
最佳答案
您可以简单地堆叠数据框并重命名系列
df.set_index('ID').stack().reset_index(level=1,drop=True).rename('Col1').reset_index()
出:
ID Col1
0 1 'a'
1 1 'b'
2 1 'c'
3 2 'a'
4 2 'b'
5 2 'c'
6 3 'a'
7 3 'b'
8 3 'c'
关于python - 使用 Pandas 通过键标识符转置多列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53523735/