[英]How do I pivot a pandas DataFrame and then add hierarchical columns?
[英]Pivot Pandas DataFrame into hierarchical columns/change column hierarchy
我想透鏡數據框,如:
dim1 Value_V Value_y instance
0 A_1 50.000000 0 instance200
1 A_2 6500.000000 1 instance200
2 A_3 50.000000 0 instance200
3 A_4 4305.922313 1 instance200
進入具有分層列的數據框:
A_1 A_2 A_3 .....
Value_V Value_y Value_V Value_y Value_V Value_y
instance200 50 0 6500 1 50 0
我試過df = df.pivot(index = "instance", columns = "dim1")
,但它只會給我一個這樣的框架:
Value_V Value_y
A_1 A_2 A_3 .... A_1 A_2 A_3 ....
instance200 50 6500 50 0 1 0
如何更改列的層次結構?
我自己想通了:
df = df.swaplevel(0,1,axis = 1).sort(axis = 1)
會做
你需要的是reorder_levels ,然后對列進行排序,如下所示:
import pandas as pd
df = pd.read_clipboard()
df
Out[8]:
dim1 Value_V Value_y instance
0 A_1 50.000000 0 instance200
1 A_2 6500.000000 1 instance200
2 A_3 50.000000 0 instance200
3 A_4 4305.922313 1 instance200
In [9]:
df.pivot('instance', 'dim1').reorder_levels([1, 0], axis=1).sort(axis=1)
Out[9]:
dim1 A_1 A_2 A_3 A_4
Value_V Value_y Value_V Value_y Value_V Value_y Value_V Value_y
instance
instance200 50 0 6500 1 50 0 4305.922313 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.