如何在更大的数据框中对角对齐3个数据框,使其余值为空



我有3个数据帧,保存从1到9的数字。我想创建一个更大的数据框架,由这3个数据框架对角线对齐。数据帧如下:

df_gr1 = pd.DataFrame(data=[[5, 4, 7], [1, 9, 6], [2, 8, 3]])
df_gr2 = pd.DataFrame(data=[[3, 2, 7], [5, 1, 8], [4, 9, 6]])
df_gr3 = pd.DataFrame(data=[[2, 3, 9], [8, 5, 6], [7, 1, 4]])

display(df_gr1)输出->df_gr1

display(df_gr2)输出->df_gr2

display(df_gr3)输出->df_gr3

我正在寻找的最终DataFrame是这样的:

9 strong>8 strong>338 strong>9 strong>39 strong>8 strong>

你的意思是:

print(pd.concat([df_gr1, df_gr2.rename(index={0: 3, 1: 4, 2: 5}), df_gr3.rename(index={0: 6, 1: 7, 2: 8})], axis=1).fillna('').T.reset_index(drop=True).T)

输出:

0  1  2  3  4  5  6  7  8
0  5  4  7                  
1  1  9  6                  
2  2  8  3                  
3           3  2  7         
4           5  1  8         
5           4  9  6         
6                    2  3  9
7                    8  5  6
8                    7  1  4

最新更新