如何创建具有随机数列的数据框,每个列具有不同的范围?

问题描述 投票:3回答:1

我正在寻找一种方法来创建一个包含3列和3行的随机数据帧,但是第一列的随机数应该在[1:5]的范围内,[1:8]中的第二列和在[4:10]中排名第三。

我需要的例子:

   A  B  C
0  4  3  9
1  1  4  10
2  4  8  4

我知道如何创建一个随机数据帧:

df = pd.DataFrame(np.random.randint(1,10,size=(3, 3)))

但我找不到添加这些范围作为每列条件的方法。我可以生成三个随机数,然后将它们作为数据帧添加在一起,但这不是我正在寻找的。

有帮助吗?

python pandas numpy
1个回答
2
投票
n = 3
df = pd.DataFrame(dict(
    A=np.random.randint(1, 6, size=n),
    B=np.random.randint(1, 9, size=n),
    C=np.random.randint(4, 11, size=n)
))

df

   A  B  C
0  3  5  6
1  1  7  6
2  1  1  4

要么

df = pd.DataFrame(
    np.random.rand(3, 3) * [5, 8, 7] + [1, 1, 4],
    columns=list('ABC')
).astype(int)

df

   A  B   C
0  3  6  10
1  3  5   7
2  4  6   7
© www.soinside.com 2019 - 2024. All rights reserved.