📜  如何使我的 jupyter prin 完整数组 - Python (1)

📅  最后修改于: 2023-12-03 14:51:49.915000             🧑  作者: Mango

如何使我的 jupyter print 完整数组 - Python

在使用 jupyter 进行 Python 编程时,我们经常需要输出数组的内容进行调试和数据处理。但是,默认情况下,当数组元素数量较多时,jupyter 只会输出部分信息,其余内容则会用省略号代替,这对于调试和数据处理是非常不方便的。那么,我们该如何使 jupyter 能够输出完整的数组呢?接下来,我们将介绍两种方法:

方法一:使用 set_printoptions

numpy 库提供了一个函数 set_printoptions,我们可以通过该函数来设置数组元素的输出格式和数量等参数。我们可以通过以下代码来输出完整的数组:

import numpy as np
np.set_printoptions(threshold=np.inf)
print(np.arange(10000))

具体来说,threshold 参数用于设置数组元素数量的上限,默认是 1000。当数组元素数量超过该值时,则会被省略。我们可以将其设置为一个极大的值,比如 np.inf,即可输出完整的数组。需要注意的是,这种方法虽然简单易行,但会对整个代码块中的数组输出产生影响,因此需要慎用。

方法二:使用 pandas

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_rowsdisplay.max_columns 用于控制输出的行数和列数的上限;display.width 用于设置输出内容的宽度上限;display.max_colwidth 则用于设置每列的宽度上限。我们将其设置为 -1,表示自动调整每列的宽度。需要注意的是,使用 pandas 的方法需要将数组先转换成数据框,有一定的额外开销。

两种方法各有优缺点,可以根据具体情况选择合适的方式来输出完整的数组。

参考资料: