2017-03-09 99 views
1

我想知道是否有進行排序(計算百分位數)跨列的熊貓數據幀具有下列條件的說服力的方式:熊貓:排序/百分比列的類別內的每一行

執行每個類別內的百分計算。每列將屬於一個類別和百分制計算要在每個類別中進行(請參閱鏈接的圖形化描述。)

我知道我能做到這將忽略類別如下:

TargetRanking = StartingData.rank(axis="columns", pct=True) 

但我需要按每列的類別分組每行。請參閱以下鏈接的圖形說明。

enter image description here

回答

0

假設您有相關的類別映射的字典,你可以簡單地按該字典列,然後使用rank如以前。

categories = {'X1': 'A', 'X3': 'A', 'X5': 'A', 'X2': 'B', 'X4': 'B'} 

df.set_index('Date').groupby(categories, axis=1).rank(pct=True) 

enter image description here