基于唯一值将列拆分为multindex列

问题描述 投票:0回答:1

如果有数据框,则>

test = pd.DataFrame({'IDs': ['one', 'one', 'one', 'two', 'two',
                            'two'],
                    'X': ['A', 'B', 'C', 'A', 'B', 'C'],
                    'Y': [1, 2, 3, 4, 5, 6]})

看起来像

    IDs     X   Y
0   one     A   1
1   one     B   2
2   one     C   3
3   two     A   4
4   two     B   5
5   two     C   6

什么是输出格式的最佳方法,例如:

IDs  one     two    
Pos X   Y   X   Y
0   A   1   A   4
1   B   2   B   5
2   C   3   C   6

ID's可以更改名称和长度(即实际的ID's的数量)。

如果我有一个数据帧测试= pd.DataFrame({'IDs':['one','one','one','two','two','two',],'X':[ 'A','B','C','A','B','C'],...

python pandas multi-index
1个回答
0
投票

GroupBy.cumcount用于计数器,然后通过GroupBy.cumcount创建MultiIndex,通过DataFrame.set_index进行整形,并在DataFrame.set_index的最后DataFrame.unstack中使用DataFrame.unstack来更改级别顺序:

© www.soinside.com 2019 - 2024. All rights reserved.