这是由np.set_printoptions(threshold=np.nan)引起的错误,解决方法是把参数np.nan改成一个很大的数,比如10,000,000,这个数的大小取决于你的需要。
为什么这样改需要从np.set_printoptions这个功能说起。
np.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None)
这个函数对数组array在打印是结果显示进行设置。我们来看看参数:
precision : int, optional,float。输出的精度,即小数点后维数,默认小数点后8位。
threshold : int, optional。当数组数目过大时,设置显示的最大大项数,不显示的用省略号代替,默认1000。
edgeitems : int, optional。每一维边缘显示项数目,默认3。
linewidth : int, optional,每行用于插入换行符的字符数,默认75。
suppress : bool, optional,是否压缩由科学计数法表示的浮点数,默认False。
nanstr : str, optional,浮点数的字符串表示,默认nan。
infstr : str, optional,浮点数无穷大的字符串表示,默认inf。
设置打印时显示方式,threshold=np.nan意思是输出数组的时候完全输出,不需要省略号将中间数据省略。这里报错原因未知。