迭代多索引数据帧以按特定索引进行规范化

2024-10-02 18:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多索引数据帧,我想根据列的最高值规范化特定列集(第二个索引级别):

       Level1                                  Level2
        Thing1                Thing2               Thing1   
       Norm1    Norm2      Norm1    Norm2      Norm1    Norm1    
0      0.3309   0.5030     1.4494   0.7677     0.2134   0.1235    
1      0.1708   0.4845     1.2636   0.8755     0.2419   0.1350  
2      0.2272   0.3414     1.2890   0.7636     0.1295   0.0788    
3      0.2249   0.3225     1.0368   0.7391     0.1416   0.1267  
4      0.2268   0.4230     1.7703   1.0730     0.0198   0.0294  
5      0.2078   0.3600     1.7819   0.9052     0.0253   0.0254  
6      0.1034   0.1781     3.2156   1.5434     0.1084   0.0452  
7      0.0823   0.1574     2.2911   1.3434     0.0440   0.0617 
8      0.5260   0.7510     3.1626   2.2208     0.1420   0.0583 
9      0.5503   0.6921     3.2830   2.0311     0.0771   0.0677
....

我想规范化范数1和范数2,通过每一事物中任一列的最大值。 我想保留列名和索引名。有没有一个好的方法来迭代这个过程?你知道吗


Tags: 数据方法范数过程级别规范化事物level2
1条回答
网友
1楼 · 发布于 2024-10-02 18:18:42

我相信需要一级和二级的MultiIndex

df = df.max(level=[0,1], axis=1)

替代方案是聚合max

df = df.groupby(level=[0,1], axis=1).max()

print (df)
   Level1          Level2
   Thing1  Thing2  Thing1
0  0.5030  1.4494  0.2134
1  0.4845  1.2636  0.2419
2  0.3414  1.2890  0.1295
3  0.3225  1.0368  0.1416
4  0.4230  1.7703  0.0294
5  0.3600  1.7819  0.0254
6  0.1781  3.2156  0.1084
7  0.1574  2.2911  0.0617
8  0.7510  3.1626  0.1420
9  0.6921  3.2830  0.0771

相关问题 更多 >