Skip to main content
 首页 » 编程设计

python之在 Pandas Dataframe 中将上三角矩阵转换为下三角矩阵

2025年05月04日21haluo1

我尝试使用转置并向其添加一些扭曲,但没有成功

转换上层:

 Data :  
     0         1         2      3   
0  5         NaN       NaN      NaN 
1  1         NaN       NaN      NaN 
2  0.21      0.31      0.41     0.51    
3  0.32      0.42      0.52     NaN 
4  0.43      0.53      NaN      NaN 
5  0.54      NaN       NaN      Nan 

到:

 Data :  
     0         1         2      3   
0  5         NaN       NaN      NaN 
1  1         NaN       NaN      NaN 
2  0.21      NaN       NaN      NaN    
3  0.31      0.32      NaN      NaN 
4  0.41      0.42      0.43     NaN 
5  0.51      0.52      0.53     0.54 

不影响前两行

请您参考如下方法:

我相信你需要justify与 sort排除前两行:

arr = justify(df.values[2:,:], invalid_val=np.nan, side='down', axis=0) 
df.values[2:,:] = np.sort(arr, axis=1) 
 
print (df) 
      0     1     2     3 
0  5.00   NaN   NaN   NaN 
1  1.00   NaN   NaN   NaN 
2  0.21   NaN   NaN   NaN 
3  0.31  0.32   NaN   NaN 
4  0.41  0.42  0.43   NaN 
5  0.51  0.52  0.53  0.54