Python Numpy 2D数组对齐而没有括号

时间:2018-10-20 10:04:24

标签: python numpy

我想打印不带括号的2D数组,以便元素对齐。我经历了一堆帖子并进行了处理,以删除括号,但是元素不再对齐,如果我按原样打印数组,元素将对齐,但是会有括号。

我的代码很简单

a = np.asarray(b._BaseArray__data).reshape(3,3)
print(a)

其中b._BaseArray__data表示列表。

那么我该如何打印将对齐且没有括号和逗号的数组?

当前结果:

[[1, 2, 3, 4]
 [5, 6, 7, 8]
 [9,10,11,12]]

我想要这样:

1  2  3  4
5  6  7  8
9 10 11 12

1 个答案:

答案 0 :(得分:0)

以下代码应使用两个嵌套的for循环来完成您想要的工作:

import numpy as np

# example data
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])


def print_array(arr):
    """
    prints a 2-D numpy array in a nicer format
    """
    for a in arr:
        for elem in a:
            print("{}".format(elem).rjust(3), end="")
        print(end="\n")


# call the printing function
print_array(arr)

打印:

  1  2  3  4
  5  6  7  8
  9 10 11 12