打印不带括号的numpy数组

时间:2019-12-19 05:50:59

标签: python numpy

我正在尝试自学python,因此对此非常陌生。我的代码很简单。 我只有一个用整数随机生成的numpy数组。我的代码看起来像这样

arr = np.random.randint(100, size=(5,5))

print(arr)

打印时,像这样用括号括起来

[[98 87 45  5 67]
 [33 39  1 40 96]
 [97 55 85  2 65]
 [18 28 32 55 21]
 [96 46 14 87 28]]

如何删除所有方括号,以便仅是带有空格的数字?

4 个答案:

答案 0 :(得分:2)

尝试:

for el in arr:
     print(' '.join(el.astype(str)))

答案 1 :(得分:2)

例如

import numpy as np
import re
arr = np.random.randint(100, size=(5,5))
print(arr)
print(re.sub('[\[\]]', '', np.array_str(arr)))

输出:

[[71 35 79 89 85]
 [36 77 25 80 53] 
 [26 56  6 49 82]
 [27 84 18 86 62]
 [32 39 83 78 14]]

71 35 79 89 85
 36 77 25 80 53
 26 56  6 49 82
 27 84 18 86 62
 32 39 83 78 14

答案 2 :(得分:1)

for i in arr:
    for j in i:
        print(j, end=' ')

答案 3 :(得分:1)

使用熊猫怎么样?

import numpy as np
import pandas as pd

arr = np.random.randint(100, size=(5,5))
df = pd.DataFrame(arr)


print(df.to_string(header=False, index=False))

 45  40  99   8  20
 29  18  54  52  51
 94  52  84  61  17
 44  54  38  48  62
  4  76  95  73  46