【问题标题】:Is there a way to specify multiple columns of a dataframe with different strategies in Hypothesis?有没有办法在假设中指定具有不同策略的数据框的多列?
【发布时间】:2021-03-08 18:06:17
【问题描述】:

我想创建一个用于测试的数据框,如下所示:

target var0 var1 var2 var3
0 0.34 1.43 0.41 0.98
1 -1.43 -0.31 7.43 1.95

我已经能够通过将列定义为字典来做到这一点,如这个答案https://stackoverflow.com/a/65720110/251754 中所见,但我想知道是否有更好的方法来做到这一点。我尝试了以下方法,但不起作用,因为元素无法获取列表:

@given(x_df=
    data_frames(
            columns=columns(names_or_number=['target','var0','var1','var2','var3'],
            elements=[strategies.integers(), strategies.floats()]),
        index=range_indexes(min_size=10, max_size=10),
    )
)

【问题讨论】:

    标签: python python-hypothesis


    【解决方案1】:

    您可以手动建立column 对象的列表,例如作者:

    @given(
        x_df=data_frames(
            columns=[column(name="target", elements=strategies.integers())] + columns(
                names_or_number=["var0", "var1", "var2", "var3"],
                elements=strategies.floats(),
            ),
            index=range_indexes(min_size=10, max_size=10),
        )
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2011-01-28
      • 2022-12-06
      • 2022-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多