我正在尝试将数据框打印为矩阵。为此,我想使用一个数组。要清楚:
我有字典,Y,就像这样:
{(0, 0): {(0, 0): 0, (1, 0): 1, (0, 1): 1, (0, 2): 2, (0, 3): 3, (1, 3): 4, (0, 4): 10, (1, 4): 9, (0, 5): 11, (1, 1): 2, (1, 2): 5, (2, 2): 6, (2, 4): 8, (1, 5): 10, (2, 0): 10, (3, 0): 9, (2, 1): 7, (3, 1): 8, (3, 2): 7, (2, 3): 7, (3, 4): 9, (2, 5): 9, (3, 5): 10, (3, 3): 8}, (1, 0): {(1, 0): 0, (0, 0): 1, (1, 1): 1, (0, 1): 2, (0, 2): 3, (0, 3): 4, (1, 3): 5, (0, 4): 11, (1, 4): 10, (0, 5): 12, (1, 2): 6, (2, 2): 7, (2, 4): 9, (1, 5): 11, (2, 0): 11, (3, 0): 10, (2, 1): 8, (3, 1): 9, (3, 2): 8, (2, 3): 8, (3, 4): 10, (2, 5): 10, (3, 5): 11, (3, 3): 9}, (0, 1): {(0, 1): 0, (0, 0): 1, (0, 2): 1, (1, 0): 2, (0, 3): 2, (1, 3): 3, (0, 4): 9, (1, 4): 8, (0, 5): 10, (1, 1): 3, (1, 2): 4, (2, 2): 5, (2, 4): 7, (1, 5): 9, (2, 0): 9, (3, 0): 8, (2, 1): 6, (3, 1): 7, (3, 2): 6, (2, 3): 6, (3, 4): 8, (2, 5): 8, (3, 5): 9, (3, 3): 7}, (0, 2): {(0, 2): 0, (0, 1): 1, (0, 3): 1, (0, 0): 2, (1, 0): 3, (1, 3): 2, (0, 4): 8, (1, 4): 7, (0, 5): 9, (1, 1): 4, (1, 2): 3, (2, 2): 4, (2, 4): 6, (1, 5): 8, (2, 0): 8, (3, 0): 7, (2, 1): 5, (3, 1): 6, (3, 2): 5, (2, 3): 5, (3, 4): 7, (2, 5): 7, (3, 5): 8, (3, 3): 6}, (0, 3): {(0, 3): 0, (0, 2): 1, (1, 3): 1, (0, 0): 3, (1, 0): 4, (0, 1): 2, (0, 4): 7, (1, 4): 6, (0, 5): 8, (1, 1): 5, (1, 2): 2, (2, 2): 3, (2, 4): 5, (1, 5): 7, (2, 0): 7, (3, 0): 6, (2, 1): 4, (3, 1): 5, (3, 2): 4, (2, 3): 4, (3, 4): 6, (2, 5): 6, (3, 5): 7, (3, 3): 5}, (1, 3): {(1, 3): 0, (0, 3): 1, (1, 2): 1, (0, 0): 4, (1, 0): 5, (0, 1): 3, (0, 2): 2, (0, 4): 6, (1, 4): 5, (0, 5): 7, (1, 1): 6, (2, 2): 2, (2, 4): 4, (1, 5): 6, (2, 0): 6, (3, 0): 5, (2, 1): 3, (3, 1): 4, (3, 2): 3, (2, 3): 3, (3, 4): 5, (2, 5): 5, (3, 5): 6, (3, 3): 4}, (0, 4): {(0, 4): 0, (1, 4): 1, (0, 5): 1, (0, 0): 10, (1, 0): 11, (0, 1): 9, (0, 2): 8, (0, 3): 7, (1, 3): 6, (1, 1): 12, (1, 2): 5, (2, 2): 4, (2, 4): 2, (1, 5): 2, (2, 0): 8, (3, 0): 7, (2, 1): 5, (3, 1): 6, (3, 2): 5, (2, 3): 3, (3, 4): 3, (2, 5): 3, (3, 5): 4, (3, 3): 6}, (1, 4): {(1, 4): 0, (0, 4): 1, (2, 4): 1, (1, 5): 1, (0, 0): 9, (1, 0): 10, (0, 1): 8, (0, 2): 7, (0, 3): 6, (1, 3): 5, (0, 5): 2, (1, 1): 11, (1, 2): 4, (2, 2): 3, (2, 0): 7, (3, 0): 6, (2, 1): 4, (3, 1): 5, (3, 2): 4, (2, 3): 2, (3, 4): 2, (2, 5): 2, (3, 5): 3, (3, 3): 5}, (0, 5): {(0, 5): 0, (0, 4): 1, (0, 0): 11, (1, 0): 12, (0, 1): 10, (0, 2): 9, (0, 3): 8, (1, 3): 7, (1, 4): 2, (1, 1): 13, (1, 2): 6, (2, 2): 5, (2, 4): 3, (1, 5): 3, (2, 0): 9, (3, 0): 8, (2, 1): 6, (3, 1): 7, (3, 2): 6, (2, 3): 4, (3, 4): 4, (2, 5): 4, (3, 5): 5, (3, 3): 7}, (1, 1): {(1, 1): 0, (1, 0): 1, (0, 0): 2, (0, 1): 3, (0, 2): 4, (0, 3): 5, (1, 3): 6, (0, 4): 12, (1, 4): 11, (0, 5): 13, (1, 2): 7, (2, 2): 8, (2, 4): 10, (1, 5): 12, (2, 0): 12, (3, 0): 11, (2, 1): 9, (3, 1): 10, (3, 2): 9, (2, 3): 9, (3, 4): 11, (2, 5): 11, (3, 5): 12, (3, 3): 10}, (1, 2): {(1, 2): 0, (1, 3): 1, (2, 2): 1, (0, 0): 5, (1, 0): 6, (0, 1): 4, (0, 2): 3, (0, 3): 2, (0, 4): 5, (1, 4): 4, (0, 5): 6, (1, 1): 7, (2, 4): 3, (1, 5): 5, (2, 0): 5, (3, 0): 4, (2, 1): 2, (3, 1): 3, (3, 2): 2, (2, 3): 2, (3, 4): 4, (2, 5): 4, (3, 5): 5, (3, 3): 3}, (2, 2): {(2, 2): 0, (1, 2): 1, (2, 1): 1, (3, 2): 1, (2, 3): 1, (0, 0): 6, (1, 0): 7, (0, 1): 5, (0, 2): 4, (0, 3): 3, (1, 3): 2, (0, 4): 4, (1, 4): 3, (0, 5): 5, (1, 1): 8, (2, 4): 2, (1, 5): 4, (2, 0): 4, (3, 0): 3, (3, 1): 2, (3, 4): 3, (2, 5): 3, (3, 5): 4, (3, 3): 2}, (2, 4): {(2, 4): 0, (1, 4): 1, (2, 3): 1, (3, 4): 1, (2, 5): 1, (0, 0): 8, (1, 0): 9, (0, 1): 7, (0, 2): 6, (0, 3): 5, (1, 3): 4, (0, 4): 2, (0, 5): 3, (1, 1): 10, (1, 2): 3, (2, 2): 2, (1, 5): 2, (2, 0): 6, (3, 0): 5, (2, 1): 3, (3, 1): 4, (3, 2): 3, (3, 5): 2, (3, 3): 4}, (1, 5): {(1, 5): 0, (1, 4): 1, (0, 0): 10, (1, 0): 11, (0, 1): 9, (0, 2): 8, (0, 3): 7, (1, 3): 6, (0, 4): 2, (0, 5): 3, (1, 1): 12, (1, 2): 5, (2, 2): 4, (2, 4): 2, (2, 0): 8, (3, 0): 7, (2, 1): 5, (3, 1): 6, (3, 2): 5, (2, 3): 3, (3, 4): 3, (2, 5): 3, (3, 5): 4, (3, 3): 6}, (2, 0): {(2, 0): 0, (3, 0): 1, (0, 0): 10, (1, 0): 11, (0, 1): 9, (0, 2): 8, (0, 3): 7, (1, 3): 6, (0, 4): 8, (1, 4): 7, (0, 5): 9, (1, 1): 12, (1, 2): 5, (2, 2): 4, (2, 4): 6, (1, 5): 8, (2, 1): 3, (3, 1): 2, (3, 2): 5, (2, 3): 5, (3, 4): 7, (2, 5): 7, (3, 5): 8, (3, 3): 6}, (3, 0): {(3, 0): 0, (2, 0): 1, (3, 1): 1, (0, 0): 9, (1, 0): 10, (0, 1): 8, (0, 2): 7, (0, 3): 6, (1, 3): 5, (0, 4): 7, (1, 4): 6, (0, 5): 8, (1, 1): 11, (1, 2): 4, (2, 2): 3, (2, 4): 5, (1, 5): 7, (2, 1): 2, (3, 2): 4, (2, 3): 4, (3, 4): 6, (2, 5): 6, (3, 5): 7, (3, 3): 5}, (2, 1): {(2, 1): 0, (2, 2): 1, (3, 1): 1, (0, 0): 7, (1, 0): 8, (0, 1): 6, (0, 2): 5, (0, 3): 4, (1, 3): 3, (0, 4): 5, (1, 4): 4, (0, 5): 6, (1, 1): 9, (1, 2): 2, (2, 4): 3, (1, 5): 5, (2, 0): 3, (3, 0): 2, (3, 2): 2, (2, 3): 2, (3, 4): 4, (2, 5): 4, (3, 5): 5, (3, 3): 3}, (3, 1): {(3, 1): 0, (3, 0): 1, (2, 1): 1, (0, 0): 8, (1, 0): 9, (0, 1): 7, (0, 2): 6, (0, 3): 5, (1, 3): 4, (0, 4): 6, (1, 4): 5, (0, 5): 7, (1, 1): 10, (1, 2): 3, (2, 2): 2, (2, 4): 4, (1, 5): 6, (2, 0): 2, (3, 2): 3, (2, 3): 3, (3, 4): 5, (2, 5): 5, (3, 5): 6, (3, 3): 4}, (3, 2): {(3, 2): 0, (2, 2): 1, (3, 3): 1, (0, 0): 7, (1, 0): 8, (0, 1): 6, (0, 2): 5, (0, 3): 4, (1, 3): 3, (0, 4): 5, (1, 4): 4, (0, 5): 6, (1, 1): 9, (1, 2): 2, (2, 4): 3, (1, 5): 5, (2, 0): 5, (3, 0): 4, (2, 1): 2, (3, 1): 3, (2, 3): 2, (3, 4): 4, (2, 5): 4, (3, 5): 5}, (2, 3): {(2, 3): 0, (2, 2): 1, (2, 4): 1, (0, 0): 7, (1, 0): 8, (0, 1): 6, (0, 2): 5, (0, 3): 4, (1, 3): 3, (0, 4): 3, (1, 4): 2, (0, 5): 4, (1, 1): 9, (1, 2): 2, (1, 5): 3, (2, 0): 5, (3, 0): 4, (2, 1): 2, (3, 1): 3, (3, 2): 2, (3, 4): 2, (2, 5): 2, (3, 5): 3, (3, 3): 3}, (3, 4): {(3, 4): 0, (2, 4): 1, (0, 0): 9, (1, 0): 10, (0, 1): 8, (0, 2): 7, (0, 3): 6, (1, 3): 5, (0, 4): 3, (1, 4): 2, (0, 5): 4, (1, 1): 11, (1, 2): 4, (2, 2): 3, (1, 5): 3, (2, 0): 7, (3, 0): 6, (2, 1): 4, (3, 1): 5, (3, 2): 4, (2, 3): 2, (2, 5): 2, (3, 5): 3, (3, 3): 5}, (2, 5): {(2, 5): 0, (2, 4): 1, (3, 5): 1, (0, 0): 9, (1, 0): 10, (0, 1): 8, (0, 2): 7, (0, 3): 6, (1, 3): 5, (0, 4): 3, (1, 4): 2, (0, 5): 4, (1, 1): 11, (1, 2): 4, (2, 2): 3, (1, 5): 3, (2, 0): 7, (3, 0): 6, (2, 1): 4, (3, 1): 5, (3, 2): 4, (2, 3): 2, (3, 4): 2, (3, 3): 5}, (3, 5): {(3, 5): 0, (2, 5): 1, (0, 0): 10, (1, 0): 11, (0, 1): 9, (0, 2): 8, (0, 3): 7, (1, 3): 6, (0, 4): 4, (1, 4): 3, (0, 5): 5, (1, 1): 12, (1, 2): 5, (2, 2): 4, (2, 4): 2, (1, 5): 4, (2, 0): 8, (3, 0): 7, (2, 1): 5, (3, 1): 6, (3, 2): 5, (2, 3): 3, (3, 4): 3, (3, 3): 6}, (3, 3): {(3, 3): 0, (3, 2): 1, (0, 0): 8, (1, 0): 9, (0, 1): 7, (0, 2): 6, (0, 3): 5, (1, 3): 4, (0, 4): 6, (1, 4): 5, (0, 5): 7, (1, 1): 10, (1, 2): 3, (2, 2): 2, (2, 4): 4, (1, 5): 6, (2, 0): 6, (3, 0): 5, (2, 1): 3, (3, 1): 4, (2, 3): 3, (3, 4): 5, (2, 5): 5, (3, 5): 6}}
使用大熊猫,我将字典转换为数据框:
df = pd.DataFrame(Y)
df.index = [*df.index]
df.columns = [*df.columns]
arraydf = df.to_numpy()
这是我得到的数据框:
(0, 0) (1, 0) (0, 1) (0, 2) ... (3, 4) (2, 5) (3, 5) (3, 3)
(0, 0) 0 1 1 2 ... 9 9 10 8
(1, 0) 1 0 2 3 ... 10 10 11 9
(0, 1) 1 2 0 1 ... 8 8 9 7
(0, 2) 2 3 1 0 ... 7 7 8 6
(0, 3) 3 4 2 1 ... 6 6 7 5
(1, 3) 4 5 3 2 ... 5 5 6 4
(0, 4) 10 11 9 8 ... 3 3 4 6
(1, 4) 9 10 8 7 ... 2 2 3 5
(0, 5) 11 12 10 9 ... 4 4 5 7
(1, 1) 2 1 3 4 ... 11 11 12 10
(1, 2) 5 6 4 3 ... 4 4 5 3
(2, 2) 6 7 5 4 ... 3 3 4 2
(2, 4) 8 9 7 6 ... 1 1 2 4
(1, 5) 10 11 9 8 ... 3 3 4 6
(2, 0) 10 11 9 8 ... 7 7 8 6
(3, 0) 9 10 8 7 ... 6 6 7 5
(2, 1) 7 8 6 5 ... 4 4 5 3
(3, 1) 8 9 7 6 ... 5 5 6 4
(3, 2) 7 8 6 5 ... 4 4 5 1
(2, 3) 7 8 6 5 ... 2 2 3 3
(3, 4) 9 10 8 7 ... 0 2 3 5
(2, 5) 9 10 8 7 ... 2 0 1 5
(3, 5) 10 11 9 8 ... 3 1 0 6
(3, 3) 8 9 7 6 ... 5 5 6 0
然后,我将df转换为数组:
arraydf = df.to_numpy()
这是我现在的输出:
[ 0 1 1 2 3 4 10 9 11 2 5 6 8 10 10 9 7 8 7 7 9 9 10 8]
[ 1 0 2 3 4 5 11 10 12 1 6 7 9 11 11 10 8 9 8 8 10 10 11 9]
[ 1 2 0 1 2 3 9 8 10 3 4 5 7 9 9 8 6 7 6 6 8 8 9 7]
[2 3 1 0 1 2 8 7 9 4 3 4 6 8 8 7 5 6 5 5 7 7 8 6]
[3 4 2 1 0 1 7 6 8 5 2 3 5 7 7 6 4 5 4 4 6 6 7 5]
[4 5 3 2 1 0 6 5 7 6 1 2 4 6 6 5 3 4 3 3 5 5 6 4]
[10 11 9 8 7 6 0 1 1 12 5 4 2 2 8 7 5 6 5 3 3 3 4 6]
[ 9 10 8 7 6 5 1 0 2 11 4 3 1 1 7 6 4 5 4 2 2 2 3 5]
[11 12 10 9 8 7 1 2 0 13 6 5 3 3 9 8 6 7 6 4 4 4 5 7]
[ 2 1 3 4 5 6 12 11 13 0 7 8 10 12 12 11 9 10 9 9 11 11 12 10]
[5 6 4 3 2 1 5 4 6 7 0 1 3 5 5 4 2 3 2 2 4 4 5 3]
[6 7 5 4 3 2 4 3 5 8 1 0 2 4 4 3 1 2 1 1 3 3 4 2]
[ 8 9 7 6 5 4 2 1 3 10 3 2 0 2 6 5 3 4 3 1 1 1 2 4]
[10 11 9 8 7 6 2 1 3 12 5 4 2 0 8 7 5 6 5 3 3 3 4 6]
[10 11 9 8 7 6 8 7 9 12 5 4 6 8 0 1 3 2 5 5 7 7 8 6]
[ 9 10 8 7 6 5 7 6 8 11 4 3 5 7 1 0 2 1 4 4 6 6 7 5]
[7 8 6 5 4 3 5 4 6 9 2 1 3 5 3 2 0 1 2 2 4 4 5 3]
[ 8 9 7 6 5 4 6 5 7 10 3 2 4 6 2 1 1 0 3 3 5 5 6 4]
[7 8 6 5 4 3 5 4 6 9 2 1 3 5 5 4 2 3 0 2 4 4 5 1]
[7 8 6 5 4 3 3 2 4 9 2 1 1 3 5 4 2 3 2 0 2 2 3 3]
[ 9 10 8 7 6 5 3 2 4 11 4 3 1 3 7 6 4 5 4 2 0 2 3 5]
[ 9 10 8 7 6 5 3 2 4 11 4 3 1 3 7 6 4 5 4 2 2 0 1 5]
[10 11 9 8 7 6 4 3 5 12 5 4 2 4 8 7 5 6 5 3 3 1 0 6]
[ 8 9 7 6 5 4 6 5 7 10 3 2 4 6 6 5 3 4 1 3 5 5 6 0]
我的问题是:如何使最终的数组看起来像矩阵?我希望所有长度相同的行并以正确的顺序排列(也具有“不错的”可读列)]]
编辑:询问信息:
arraydf.shape
(24, 24)
arraydf.dtype
int64
df.dtypes
(0, 0) int64
(0, 1) int64
(0, 2) int64
(1, 2) int64
(0, 3) int64
(0, 4) int64
(1, 4) int64
(0, 5) int64
(1, 5) int64
(1, 0) int64
(2, 0) int64
(1, 1) int64
(1, 3) int64
(2, 3) int64
(3, 0) int64
(2, 1) int64
(2, 2) int64
(2, 4) int64
(2, 5) int64
(3, 5) int64
(3, 1) int64
(3, 2) int64
(3, 3) int64
(3, 4) int64
dtype: object
df.info
<bound method DataFrame.info of (0, 0) (0, 1) (0, 2) (1, 2) ... (3, 1) (3, 2) (3, 3) (3, 4)
(0, 0) 0 1 2 3 ... 8 9 10 11
(0, 1) 1 0 1 2 ... 7 8 9 10
(0, 2) 2 1 0 1 ... 6 7 8 9
(1, 2) 3 2 1 0 ... 5 6 7 8
(0, 3) 3 2 1 2 ... 7 8 9 10
(0, 4) 4 3 2 3 ... 8 9 10 11
(1, 4) 5 4 3 4 ... 9 10 11 12
(0, 5) 5 4 3 4 ... 9 10 11 12
(1, 5) 6 5 4 5 ... 10 11 12 13
(1, 0) 5 4 3 2 ... 3 4 5 6
(2, 0) 6 5 4 3 ... 2 3 4 5
(1, 1) 4 3 2 1 ... 4 5 6 7
(1, 3) 4 3 2 1 ... 6 7 8 9
(2, 3) 5 4 3 2 ... 7 8 9 10
(3, 0) 7 6 5 4 ... 1 2 3 4
(2, 1) 7 6 5 4 ... 3 4 5 6
(2, 2) 8 7 6 5 ... 4 5 6 7
(2, 4) 14 13 12 11 ... 6 5 4 3
(2, 5) 13 12 11 10 ... 5 4 3 2
(3, 5) 12 11 10 9 ... 4 3 2 1
(3, 1) 8 7 6 5 ... 0 1 2 3
(3, 2) 9 8 7 6 ... 1 0 1 2
(3, 3) 10 9 8 7 ... 2 1 0 1
(3, 4) 11 10 9 8 ... 3 2 1 0
我正在尝试将数据框打印为矩阵。为此,我想使用一个数组。需要明确的是:我有一个字典Y,它是这样的:{{0,0):{{0,0):0,(1,0):1,(0,1):1,(0 ,2):2,(0,3):...
如果您想使数组看起来更好,那么pprint
是您的朋友(请参阅this nice article)。