更新:熊猫 0.23.4 起
这不是必需的。如果你设置了,Pandas 会自动检测终端窗口的大小pd.options.display.width = 0
。(对于旧版本,请参阅底部。)
pandas.set_printoptions(...)
已弃用。相反,使用pandas.set_option(optname, val)
,或等效地使用pd.options.<opt.hierarchical.name> = val
。像:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
这里是帮助set_option
:
set_option(pat,value) - 设置指定选项的值
可用选项:
display.[chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst,编码,expand_frame_repr,float_format,高度,
line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
max_rows,max_seq_items,mpl_style,multi_sparse,notebook_repr_html,
pprint_nest_depth,精度,宽度]
模式。[sim_interactive,use_inf_as_null]
参数
----------
pat - str/regexp 应该匹配一个选项。
注意:为方便起见,支持部分匹配,但除非您使用
完整的选项名称(例如,*xyzoption_name*),您的代码将来可能会中断
如果引入了具有相似名称的新选项的版本。
value - 期权的新价值。
退货
--------
没有任何
加注
------
KeyError 如果不存在这样的选项
display.chop_threshold:[默认:无] [当前:无]
:浮动或无
如果设置为浮点值,则所有浮点值都小于给定阈值
repr 和朋友将显示为 0。
display.colheader_justify:[默认:正确] [当前:正确]
: '左右'
控制列标题的对齐方式。由 DataFrameFormatter 使用。
display.column_space:[默认:12] [当前:12]没有可用的描述。
display.date_dayfirst:[默认:False] [当前:False]
: 布尔值
如果为 True,则打印并解析日期,例如 20/01/2005
display.date_yearfirst:[默认:False] [当前:False]
: 布尔值
如果为 True,则打印和解析日期,首先是年份,例如 2005/01/20
display.encoding:[默认:UTF-8] [当前:UTF-8]
: str/unicode
默认为检测到的控制台编码。
指定用于 to_string 返回的字符串的编码,
这些通常是要在控制台上显示的字符串。
display.expand_frame_repr:[默认:真] [当前:真]
: 布尔值
是否为宽 DataFrame 打印出完整的 DataFrame repr
跨越多行,`max_columns` 仍然受到尊重,但输出将
如果宽度超过 `display.width`,则环绕多个“页面”。
display.float_format:[默认:无] [当前:无]
: 可调用
可调用对象应该接受一个浮点数并返回
具有所需数字格式的字符串。这是使用
在像 SeriesFormatter 这样的地方。
有关示例,请参见 core.format.EngFormatter。
display.height:[默认:60] [当前:1000]
: 整数
已弃用。
(已弃用,请改用 `display.height`。)
display.line_width:[默认:80] [当前:1000]
: 整数
已弃用。
(已弃用,请改用`display.width`。)
display.max_columns:[默认:20] [当前:500]
: 整数
max_rows 和 max_columns 用于 __repr__() 方法来决定是否
to_string() 或 info() 用于将对象呈现为字符串。如果
python/IPython 在终端中运行,可以设置为 0 和 Pandas
将正确地自动检测终端的宽度并换成更小的
格式以防所有列垂直不适合。IPython 笔记本,
IPython qtconsole 或 IDLE 不在终端中运行,因此它不是
可以进行正确的自动检测。
“无”值意味着无限。
display.max_colwidth:[默认:50] [当前:50]
: 整数
repr 中列的最大字符宽度
熊猫数据结构。当列溢出时,一个“...”
占位符嵌入在输出中。
display.max_info_columns:[默认:100] [当前:100]
: 整数
在 DataFrame.info 方法中使用 max_info_columns 来决定是否
将打印每列信息。
display.max_info_rows:[默认:1690785] [当前:1690785]
: 整数或无
max_info_rows 是一个帧的最大行数
repr'ing 到控制台时对其列执行空检查。
默认值为 1,000,000 行。所以,如果一个 DataFrame 有更多
1,000,000 行不会对
列,因此表示将花费更少的时间
在交互式会话中显示。None 的值意味着总是
repr'ing 时执行空检查。
display.max_rows:[默认:60] [当前:500]
: 整数
这设置打印时 Pandas 应该输出的最大行数
出各种输出。例如,这个值决定了 repr()
对于数据框,可以完全打印出来,也可以只打印出摘要 repr。
“无”值意味着无限。
display.max_seq_items:[默认:无] [当前:无]
: 整数或无
当漂亮地打印一个长序列时,不超过 `max_seq_items`
将被打印。如果项目被省略,它们将由加号表示
的“...”到结果字符串。
如果设置为无,则要打印的项目数不受限制。
display.mpl_style:[默认:无] [当前:无]
: 布尔
将此设置为“默认”将修改 matplotlib 使用的 rcParams
默认情况下为绘图提供更令人愉悦的视觉风格。
将此设置为 None/False 会将值恢复为其初始值。
display.multi_sparse:[默认:True] [当前:True]
: 布尔值
"sparsify" MultiIndex 显示(不重复显示
组内外部级别的元素)
display.notebook_repr_html:[默认:真] [当前:真]
: 布尔值
当 True 时,IPython notebook 将使用 html 表示
Pandas 对象(如果可用)。
display.pprint_nest_depth:[默认:3] [当前:3]
: 整数
控制漂亮打印时要处理的嵌套级别数
display.precision:[默认值:7] [当前:7]
: 整数
浮点输出精度(有效位数)。这是
只是一个建议
display.width:[默认:80] [当前:1000]
: 整数
显示的宽度(以字符为单位)。如果 python/IPython 正在运行
可以将其设置为 None 的终端,Pandas 将正确地自动检测
宽度。
请注意,IPython notebook、IPython qtconsole 或 IDLE 不在
终端,因此无法正确检测宽度。
mode.sim_interactive:[默认:False] [当前:False]
: 布尔值
是否为了测试目的模拟交互模式
mode.use_inf_as_null:[默认:False] [当前:False]
: 布尔值
True 表示将 None、NaN、INF、-INF 视为 null(旧方式),
False 表示 None 和 NaN 为空,但 INF、-INF 不为空
(新方法)。
调用 def: pd.set_option(self, *args, **kwds)
旧版本信息。其中大部分已被弃用。
正如@bmu提到的,Pandas 自动检测(默认情况下)显示区域的大小,当对象 repr 不适合显示时,将使用摘要视图。您提到了调整 IDLE 窗口的大小,但没有效果。如果你这样做print df.describe().to_string()
,它是否适合空闲窗口?
终端大小由pandas.util.terminal.get_terminal_size()
(已弃用和删除)确定,这将返回一个包含(width, height)
显示的元组。输出是否与 IDLE 窗口的大小匹配?可能存在问题(之前在 Emacs 中运行终端时存在问题)。
请注意,可以绕过自动检测,pandas.set_printoptions(max_rows=200, max_columns=10)
如果行数、列数不超过给定限制,则永远不会切换到摘要视图。
'max_colwidth' 选项有助于查看每列的未截断形式。