Pandas 排序 MultiIndex Pivot Table
Pandas Sort MultiIndex Pivot Table
给定以下枢轴table:
import pandas as pd
import numpy as np
df = pd.DataFrame(
{'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303],
'Count':[5,6,2,7,4,7,8,9],
'Group':['A','A','A','A','B','B','B','B']})
df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2].astype(np.int64)
t=df.pivot_table(df,index=['Group'],columns=['YYYYMM'],aggfunc=np.sum)
t
Count
YYYYMM 2013 2014 2015 2016
Group
A 7 2 6 5
B 9 8 7 4
我想在 2016 年之前对行(A 组和 B 组)进行升序排序,以便 B 组在 A 组上方,同时保留枢轴的整体布局 table。
提前致谢!
使用sort_values
t.sort_values(('Count', 2016))
元组 ('Count', 2016)
是您要作为排序依据的列的名称。
看起来像:
Count
YYYYMM 2013 2014 2015 2016
Group
B 9 8 7 4
A 7 2 6 5
给定以下枢轴table:
import pandas as pd
import numpy as np
df = pd.DataFrame(
{'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303],
'Count':[5,6,2,7,4,7,8,9],
'Group':['A','A','A','A','B','B','B','B']})
df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2].astype(np.int64)
t=df.pivot_table(df,index=['Group'],columns=['YYYYMM'],aggfunc=np.sum)
t
Count
YYYYMM 2013 2014 2015 2016
Group
A 7 2 6 5
B 9 8 7 4
我想在 2016 年之前对行(A 组和 B 组)进行升序排序,以便 B 组在 A 组上方,同时保留枢轴的整体布局 table。
提前致谢!
使用sort_values
t.sort_values(('Count', 2016))
元组 ('Count', 2016)
是您要作为排序依据的列的名称。
看起来像:
Count
YYYYMM 2013 2014 2015 2016
Group
B 9 8 7 4
A 7 2 6 5