为什么Python只输出用“...”分隔的6个数字,而期望的输出是10,000个数字?
为什么Python只输出用“...”分隔的6个数字,而期望的输出是10,000个数字?
这个问题已经有了答案:
完整的问题是:生成一个包含10,000个随机数的NumPy数组(称为x),并创建一个存储方程y=5x^2−3x+15的变量
import numpy as np data = np.random.randint(1000, size=10000) x = tf.constant(data, name='x') y = tf.Variable(5 * (x**2) - (3 * x) + 15) model = tf.global_variables_initializer() with tf.Session() as session: session.run(model) print(session.run(y))
输出是[4528679 4547733 119675 ... 2215797 1247 1703543]。
为什么不在数组中包含完整的10,000个随机数? \'...\'代表什么?
admin 更改状态以发布 2023年5月23日
这就是Numpy将您的数组汇总,以便不会在终端打印1000个数字。 您可以通过使用np.set_printoptions
的threshold
参数来控制此阈值:
threshold : int, optional Total number of array elements which trigger summarization rather than full repr (default 1000).
演示:
>>> import numpy as np >>> a = np.arange(100) >>> np.set_printoptions(threshold=5) >>> print(a) [ 0 1 2 ... 97 98 99] >>> np.set_printoptions(threshold=500) >>> print(a) [ 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]