📅  最后修改于: 2023-12-03 14:51:49.915000             🧑  作者: Mango
在使用 jupyter 进行 Python 编程时,我们经常需要输出数组的内容进行调试和数据处理。但是,默认情况下,当数组元素数量较多时,jupyter 只会输出部分信息,其余内容则会用省略号代替,这对于调试和数据处理是非常不方便的。那么,我们该如何使 jupyter 能够输出完整的数组呢?接下来,我们将介绍两种方法:
numpy
库提供了一个函数 set_printoptions
,我们可以通过该函数来设置数组元素的输出格式和数量等参数。我们可以通过以下代码来输出完整的数组:
import numpy as np
np.set_printoptions(threshold=np.inf)
print(np.arange(10000))
具体来说,threshold
参数用于设置数组元素数量的上限,默认是 1000
。当数组元素数量超过该值时,则会被省略。我们可以将其设置为一个极大的值,比如 np.inf
,即可输出完整的数组。需要注意的是,这种方法虽然简单易行,但会对整个代码块中的数组输出产生影响,因此需要慎用。
pandas
是 Python 中常用的数据分析库,它提供了一些数据结构和数据处理工具,其中包括可以输出数据框和序列内容的 to_string
方法。我们可以通过将 numpy
数组转换成数据框来输出完整的数组,代码如下:
import pandas as pd
import numpy as np
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', -1)
a = np.arange(10000)
print(pd.DataFrame(a))
其中,display.max_rows
和 display.max_columns
用于控制输出的行数和列数的上限;display.width
用于设置输出内容的宽度上限;display.max_colwidth
则用于设置每列的宽度上限。我们将其设置为 -1
,表示自动调整每列的宽度。需要注意的是,使用 pandas 的方法需要将数组先转换成数据框,有一定的额外开销。
两种方法各有优缺点,可以根据具体情况选择合适的方式来输出完整的数组。
参考资料: