打印完整的Numpy数组,无需截断
Numpy是python的基本库,用于进行科学计算。它提供了高性能的多维数组和处理这些数组的工具。NumPy数组是一个由正整数的元组索引的数值(同一类型)的网格。Numpy数组速度快,易于理解,并赋予用户在整个数组中进行计算的权利。
让我们通过使用简单的NumPy函数来打印从0到1000的数字
import numpy as np
arr = np.arange(1001)
print(arr)
输出将显示为这样
[ 0 1 2 ... 998 999 1000]
每当我们要打印一个大范围的数字时,输出将被截断,结果将被显示在一行之内。但如果我们不希望截断输出,该怎么办呢?
numpy.set_printoptions()
在NumPy中,可以去除截断并按原样显示结果。我们使用numpy.set_printoptions()函数,其属性为threshold = np.inf 或 threshold = sys.maxsize。
语法: numpy.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None,
suppress=None, nanstr=None, infstr=None, formatter=None)
实例1:使用阈值=sys.maxsize。
使用np.set_printoptions(threshold = sys.maxsize)打印前1000个数字,没有截断。
在这里,我们将阈值设置为sys.maxsize,它代表了python能够处理的最大数值。
# Importing Numpy and sys modules
import numpy as np
import sys
# Creating a 1-D array with 100 values
arr = np.arange(101)
# Printing all values of array without truncation
np.set_printoptions(threshold=sys.maxsize)
print(arr)
输出:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99 100]
上面的例子显示了我们如何在不截断的情况下打印一个大范围的数值(如0到100)。
实例2:使用阈值=np.inf的方法
使用np.set_printoptions(threshold = np.inf)打印前1200个数字,没有截断。
在这里,我们将阈值设置为np.inf,它是无限的浮点表示法。
# Importing Numpy and sys modules
import numpy as np
import sys
# Creating a 1-D array with 50 values
arr = np.arange(51)
# Printing all values of array without truncation
np.set_printoptions(threshold=np.inf)
print(arr)
输出:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50]
上面的例子显示了我们如何在不截断的情况下打印一个大范围的数值(如0到50)。