配置#

配置选项#

Config.set_ascii_tables([active])

使用ASCII字符来显示表格轮廓。

Config.set_auto_structify([active])

允许多输出表达式自动转换为结构体。

Config.set_decimal_separator([separator])

设置小数分隔符字符。

Config.set_float_precision([precision])

控制浮点数值显示的小数位数。

Config.set_fmt_float([fmt])

控制浮点数值的显示方式。

Config.set_fmt_str_lengths(n)

设置用于显示字符串值的字符数。

Config.set_fmt_table_cell_list_len(n)

设置列表值显示的元素数量。

Config.set_streaming_chunk_size(size)

覆盖在streaming引擎中使用的块大小。

Config.set_tbl_cell_alignment(format)

设置表格单元格对齐方式。

Config.set_tbl_cell_numeric_alignment(format)

设置表格单元格对齐方式以适用于数字列。

Config.set_tbl_cols(n)

设置显示表格时可见的列数。

Config.set_tbl_column_data_type_inline([active])

在列名旁边(右侧,括号内)显示数据类型。

Config.set_tbl_dataframe_shape_below([active])

在显示表格时,在数据下方打印DataFrame的形状信息。

Config.set_tbl_formatting([format, ...])

设置表格格式化样式。

Config.set_tbl_hide_column_data_types([active])

隐藏表格列的数据类型(i64, f64, str 等)。

Config.set_tbl_hide_column_names([active])

隐藏表格列名。

Config.set_tbl_hide_dataframe_shape([active])

在显示表格时隐藏DataFrame的形状信息。

Config.set_tbl_hide_dtype_separator([active])

隐藏列名和列类型之间显示的'---'分隔符。

Config.set_tbl_rows(n)

设置用于绘制表格的最大行数(包括Dataframe和Series)。

Config.set_tbl_width_chars(width)

设置表格的最大宽度(以字符为单位)。

Config.set_thousands_separator([separator])

设置千位分组分隔符字符。

Config.set_trim_decimal_zeros([active])

从Decimal数据类型值中去除尾随零。

Config.set_verbose([active])

启用额外的详细/调试日志记录。

配置加载、保存、状态#

Config.load(cfg)

从JSON字符串加载(并设置)之前保存的配置选项。

Config.load_from_file(file)

从文件加载(并设置)之前保存的配置选项。

Config.save(*[, if_set])

将当前的配置选项集保存为JSON字符串。

Config.save_to_file(文件)

将当前的配置选项集保存为JSON文件。

Config.state(*[, if_set, env_only])

显示环境中所有配置变量的当前状态为一个字典。

Config.restore_defaults()

将所有polars配置设置重置为默认状态。

虽然使用restore_defaults可以轻松地将所有配置选项恢复为默认值,但重置单个选项也可能很有用。这可以通过将相关值设置为None来实现,例如:

pl.Config.set_tbl_rows(None)

作为上下文管理器使用#

请注意,Config 支持设置上下文范围的选项。这些选项仅在作用域生命周期内有效,并在作用域退出时重置为其初始值(无论进入新上下文之前它们是什么值)。

你可以通过初始化一个Config实例,然后显式调用其上一个或多个可用的“set_”方法来利用这一点…

with pl.Config() as cfg:
    cfg.set_verbose(True)
    do_various_things()

# on scope exit any modified settings are restored to their previous state

…或者,通常更简洁,直接在 Config 初始化时设置选项 (为了简洁,可以选择省略“set_”前缀):

with pl.Config(verbose=True):
    do_various_things()

用作装饰器#

同样地,你也可以使用一个Config实例作为函数装饰器,在函数调用期间临时设置选项:

cfg_ascii_frames = pl.Config(ascii_tables=True, apply_on_context_enter=True)

@cfg_ascii_frames
def write_markdown_frame_to_stdout(df: pl.DataFrame) -> None:
    sys.stdout.write(str(df))

多个配置实例#

您可能希望建立相关的Config选项捆绑,以便在代码的不同部分使用。通常,选项在Config初始化时立即设置,这意味着Config实例不能被重用;然而,您可以推迟这一点,以便选项仅在进入上下文范围时调用(如果用作装饰器,则包括函数入口)。_

这允许您在一个地方创建多个可重用的 Config实例,集中更新和修改它们,并根据需要在您的代码库中应用它们。

cfg_verbose = pl.Config(verbose=True, apply_on_context_enter=True)
cfg_markdown = pl.Config(tbl_formatting="MARKDOWN", apply_on_context_enter=True)

@cfg_markdown
def write_markdown_frame_to_stdout(df: pl.DataFrame) -> None:
    sys.stdout.write(str(df))

@cfg_verbose
def do_various_things():
    ...