polars.testing.parametric.columns#
- polars.testing.parametric.columns(
- cols: int | Sequence[str] | None = None,
- *,
- dtype: OneOrMoreDataTypes | None = None,
- min_cols: int = 0,
- max_cols: int = 5,
- unique: bool = False,
定义多个列以与@dataframes策略一起使用。
自版本0.20.26起已弃用:请改用
column并结合列表推导式。警告
此功能目前被视为不稳定。它可能会在任何时候更改,而不被视为破坏性更改。
生成一个固定的
column对象序列,适合传递给@dataframes策略,或单独使用(注意,此函数本身不是一个策略)。- Parameters:
- cols{int, [str]}, optional
要创建的列数的整数,或明确的列名列表。如果省略,则会创建随机数量的列(在mincol和max_cols之间)。
- dtypePolarsDataType, optional
所有列的单一数据类型,或数据类型列表(与
cols长度相同)。 如果省略,每个生成的列将被分配一个随机数据类型。- min_colsint, optional
如果不传递确切的大小,可以在这里设置一个最小值(默认为0)。
- max_colsint, optional
如果没有传递确切的大小,可以在这里设置一个最大值(默认为 MAX_COLS)。
- uniquebool, optional
指示为这些列生成的值是否应该是唯一的(每列)。
注释
通过显式创建一系列列,可以使用
column类来获得额外的控制(一个特别有用的选项是覆盖给定列/数据类型的默认数据生成策略)。示例
>>> from polars.testing.parametric import columns, dataframes >>> from hypothesis import given >>> @given(dataframes(columns(["x", "y", "z"], unique=True))) ... def test_unique_xyz(df: pl.DataFrame) -> None: ... assert_something(df)