gpt4 book ai didi

python - 使用假设重复条目的 Pandas Index 示例

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:53 25 4
gpt4 key购买 nike

我想生成一个 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正如下面的答案中提到的,也适用于我的方法。

最佳答案

如果生成的索引不必有任何特定的分布,那么获得所需内容的一种方法是使用 integers 策略并使用 unique 参数indexes 策略以在需要时生成重复项:

import hypothesis.strategies as st

st_idx = indexes(
st.integers(min_value=0, max_value=5),
min_size=10, max_size=10,
unique=False
)

st_idx.example()

制作:

Int64Index([4, 1, 3, 4, 2, 5, 0, 5, 0, 0], dtype='int64')

关于python - 使用假设重复条目的 Pandas Index 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57145872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com