如何使 pandas 显示整个数据框而不按列裁剪?

How to make pandas show the entire dataframe without cropping it by columns?

我正在尝试将函数 f(x) 的三次样条插值信息表示为数据帧。 尝试打印到 spyder 时,我发现列被切断了。当尝试在 Jupiter Lab 中重现输出时,我得到了同样的结果。 当我通过终端在 ipython 中 运行 时,我得到了所需的完整数据帧输出。 我搜索了 integnet 并尝试了 pandas 命令设置选项 pd.set_options(),但没有任何结果。

我附上 ipython 中输出的屏幕截图。

这是显示宽度的结果。您可以使用以下 set_options():

pd.set_options(display.width=1000) #make huge

您可能还需要提高最大列数,但它应该足够聪明,可以在您增大宽度后自动调整:

pd.set_options(display.max_columns=None)

可以使用pd.set_options(display.max_columns=1000)

指定行数或列数的最大值

但是您没有设置任意值,而是使用None来确保涵盖每个尺寸。

对于行,使用:

pd.set_option('display.max_rows', None)

对于列,使用:

pd.set_option('display.max_columns', None)

在 Juputer 中可以使用:

from IPython.display import display, HTML

而不是

print(dataframe)

在任何地方使用

display(HTML(dataframe.to_html()))

这将创建一个不错的 table。

不幸的是,这在 spyder 中不起作用。所以你可以尝试调整ipython的宽度建议。但在大多数情况下,这会使输出效果不佳或不可读。

尝试数据框方法后,我发现似乎是裁剪设置。

在 Spyder 中我使用了:

pd.set_option('expand_frame_repr', False)
print(dataframe)

这个方法解释了为什么增加 max_column 之前对我没有帮助。