列印完整的 NumPy 陣列
本教程將介紹如何在 Python 中列印完整的 NumPy 陣列。
使用 Python 中的 numpy.set_printoptions()
函式列印完整的 NumPy 陣列
預設情況下,如果我們的陣列長度很大,Python 會在列印陣列時截斷輸出。下面的程式碼示例演示了這種現象。
import numpy as np
array = np.arange(10000)
print(array)
輸出:
[ 0 1 2 ... 9997 9998 9999]
在上面的程式碼中,我們首先使用 Python 中的 np.arange()
函式建立了一個 NumPy 陣列 array
,其中包含從 0 到 9999 的數值。然後我們使用 print()
函式列印陣列的元素。我們得到一個截斷的輸出,因為陣列太大而無法完全顯示。
這個問題可以通過 numpy.set_printoptions()
函式來解決。它在 Python 中設定與列印陣列相關的不同引數。我們可以使用 numpy.set_printoptions()
函式的 threshold
引數來 sys.maxsize
列印完整的 NumPy 陣列。要使用 sys.maxsize
屬性,我們還必須匯入 sys
庫。下面的程式碼示例顯示瞭如何在 Python 中使用 numpy.set_printoptions()
函式和 sys.maxsize
屬性列印完整的 NumPy 陣列。
import sys
import numpy as np
array = np.arange(10001)
np.set_printoptions(threshold=sys.maxsize)
print(array)
輸出:
[ 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 101 102 103 104 105 106 107
108 109 110 111 112 113 114 115 116 117 118 119
...
9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923
9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935
9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947
9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959
9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971
9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983
9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995
9996 9997 9998 9999 10000]
在上面的程式碼中,我們首先使用 numpy.arange()
函式建立了一個 NumPy 陣列 array
,其中包含從 0 到 10000 的元素。我們使用 np.set_printoptions(threshold = sys.maxsize)
函式將陣列的列印選項設定為最大值。然後我們在 Python 中使用簡單的 print()
函式列印了完整的陣列。
我們的問題還有另一種解決方案,它只涉及使用 NumPy
庫。我們可以在 numpy.set_printoptions()
函式中指定 threshold
等於 np.inf
以在 Python 中列印完整的陣列。np.inf
屬性指定 print()
將無限執行,直到列印整個陣列。請參考以下程式碼示例。
import numpy as np
array = np.arange(10001)
np.set_printoptions(threshold=np.inf)
print(array)
輸出:
[ 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 101 102 103 104 105 106 107
108 109 110 111 112 113 114 115 116 117 118 119
...
9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923
9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935
9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947
9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959
9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971
9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983
9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995
9996 9997 9998 9999 10000]
我們使用 np.set_printoptions()
函式將 threshold
引數設定為 np.inf
。然後我們在 Python 中使用簡單的 print()
函式列印了完整的陣列。這種方法優於前一種方法,因為這種方法只需要 NumPy
庫。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn