簡體   English   中英

從多索引熊貓數據幀創建索引

[英]Create index from multiindex pandas dataframe

我有一個數據框

   0        1      
   A   B    A    B   
1  4   6    5    6  
2  4   8    15   3
3  8   10   10   2

我想創建一個索引,以便所有列都除以 A 列的總數,以獲得它們的透視級別 0,即 0 或 1

所以

0=16
1=30

所以輸出是

   0              1      
   A   B          A       B   
1  4/16   6/16    5/30    6/30  
2  4/16   8/16    15/30   3/30
3  8 /16  10/16   10/30   2/30

到目前為止我有

df_in.divide(df_in.iloc[:, df_in.columns.get_level_values(1)=='A'].sum(axis=0),level=0,axis=1)

但它不起作用

使用DataFrame.xs選擇帶有sum級別A並傳遞給DataFrame.div

df = df.div(df.xs('A', axis=1, level=1).sum(), axis=1, level=0)
print (df)
      0                1          
      A      B         A         B
1  0.25  0.375  0.166667  0.200000
2  0.25  0.500  0.500000  0.100000
3  0.50  0.625  0.333333  0.066667

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM