gpt4 book ai didi

python - 如何在预定义范围内生成随机数,在 R/Python 中总和为固定数

转载 作者:行者123 更新时间:2023-12-05 02:25:56 28 4
gpt4 key购买 nike

我有一个简单的数据生成问题。我会请求有关 R 或 Python 代码的任何帮助。我先贴表。

<表类="s-表"><头>总计Num1_betw_1_to_4Num2_betw_1_to_3Num3_betw_1_to_3<正文>9333713394329333522173229333723256249

在上表中,给出了第一列值。现在我想在第 2、3 和 4 列中生成 3 个值,它们总计为每行的第 1 列中的值。但是第 2、3 和 4 列中的每一列都有一些预定义的数据范围,例如:第 2 列的值必须介于 1 和 4 之间,第 3 列的值必须介于 1 和 3 之间,并且第 4 列的值必须介于 1 和 3 之间。

为了您的理解,我打印了前 8 行。在实际情况下,只会给出“总计”列值,其余 3 列将为空白,必须为其生成值。

如果您对代码有任何帮助,我们将不胜感激。

最佳答案

这在 R 中很简单。

首先制作一个包含每列所有可能允许值的数据框:

df <- expand.grid(Num1_1_to_4 = 1:4,
Num2_1_to_3 = 1:3,
Num3_1_to_3 = 1:3)

现在丢弃所有总和不等于 7 的行:

df <- df[rowSums(df) == 7,]

最后,对该数据框进行采样:

df[sample(nrow(df), 1),]
#> Num1_1_to_4 Num2_1_to_3 Num3_1_to_3
#> 19 3 2 2

关于python - 如何在预定义范围内生成随机数,在 R/Python 中总和为固定数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74172806/

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