打印完整的 Numpy 数组而不截断
Numpy 是Python的基础库,用于执行科学计算。它提供了高性能的多维数组和处理它们的工具。 NumPy 数组是由正整数元组索引的值(相同类型)网格。 Numpy 数组速度快、易于理解,并赋予用户跨整个数组执行计算的权利。
让我们使用简单的 NumPy 函数打印 0 到 1000 之间的数字
Python3
import numpy as np
arr = np.arange(1001)
print(arr)
Python3
# 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)
Python3
# 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 ... 998 999 1000]
每当我们必须打印大量数字时,输出将被截断,结果将显示在一行内。但是如果我们不想截断输出怎么办。
numpy.set_printoptions()
在 NumPy 中,可以删除截断并按原样显示结果。我们使用具有属性阈值 = np.inf 或阈值 = sys.maxsize的numpy.set_printoptions()函数
Syntax: 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可以处理的最大值。
蟒蛇3
# 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 ,它是无穷大的浮点表示。
蟒蛇3
# 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)。