numpy ravel函数返回问题



当ravel((返回nd数组中所有元素的连续1D数组时,我观察到它仅返回x1的唯一元素,如上所述。我错过了什么吗?

tst
Out[44]: 
array([[1, 2, 3, 4],
       [1, 2, 3, 4]])
tst.ravel()
Out[45]: array([1, 2, 3, 4, 1, 2, 3, 4])
X1
Out[46]: 
array([[-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084],
       [-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084],
       [-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084],
       ..., 
       [-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084],
       [-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084],
       [-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
         3.14681084,  3.15681084]])
X1.ravel()
Out[47]: 
array([-2.99318916, -2.98318916, -2.97318916, ...,  3.13681084,
        3.14681084,  3.15681084])

这是一个打印问题。您可以使用numpy.set_printoptions来调整此行为:

In [404]: np.array([arange(10)]*10).ravel()
Out[404]: 
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2,
       3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5,
       6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8,
       9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1,
       2, 3, 4, 5, 6, 7, 8, 9])
In [405]: np.set_printoptions(threshold=90)
In [406]: np.array([arange(10)]*10).ravel()
Out[406]: array([0, 1, 2, ..., 7, 8, 9])

最新更新