我正在寻找一种方法来创建一个包含3列和3行的随机数据帧,但是第一列的随机数应该在[1:5]的范围内,第二列的随机数应该在[1:5]中。 :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)))
但我无法找到将这些范围添加为每列条件的方法。我可以生成三个随机数,然后将它们一起添加为数据帧,但这不是我想要的。
任何帮助?
答案 0 :(得分: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