我想生成一个pandas.Index
重复条目,像这样。
>>> pd.Index(np.random.choice(range(5), 10))
Int64Index([3, 0, 4, 1, 1, 3, 4, 3, 2, 0], dtype='int64')
所以我写了以下策略:
from hypothesis.extra.pandas import indexes
from hypothesis.strategies import sampled_from
st_idx = indexes(
elements=sampled_from(range(5)),
min_size=10,
max_size=10
)
但是,当我尝试借鉴这样的策略时,我收到以下错误:
>>> st_idx.example()
[...]
Unsatisfiable: Unable to satisfy assumptions of condition.
During handling of the above exception, another exception occurred:
[...]
NoExamples: Could not find any valid examples in 100 tries
在一些实验中,我意识到它只有在min_size
小于等于选择数(在这种情况下<= 5)时才有效。然而,这意味着我永远不会得到重复的例子!
我究竟做错了什么?
编辑:显然,默认情况下只有indexes
策略unique
设置为,将其设置为下面答案中提到的也适用于我的方法。True
False