用于随机生成器的 Python pandas 种子

问题描述 投票:0回答:2

我有一个小问题:

np.random.seed(seed=x)

我有一个 df
SEED = 1
种子编号列
我想在从 df 中选择种子后生成随机数
SEED

例如,在第一个模拟中,我将使用 df
SEED
的 100 号种子,在下一个模拟中,我想使用
SEED
df 的 200 号种子。
我一直在尝试,但没有成功。
有什么提示给我吗?
干杯

python pandas random seed
2个回答
3
投票

看来您需要循环

SEED
列的值并设置
np.random.seed(x)
:

df = pd.DataFrame({'SEED':[100,200,500]})
print (df)
   SEED
0   100
1   200
2   500

for i, x in df['SEED'].items():
    print (x)
    np.random.seed(x)
    #some random function
    a = np.random.randint(10, size=5)
    print (a)

100
[8 8 3 7 7]
200
[9 0 4 7 9]
500
[7 1 1 8 7]

如果需要从列表中生成随机值:

L = [100,200,500]
a = np.random.choice(L, size=1)[0]
np.random.seed(a)
print (a)
500

0
投票
# What is my index to use this year?
INDEX = 1

df = pd.DataFrame({'SEED':[100,200,500]})

seed = (df["SEED"].iloc[INDEX]).item()

random.seed(seed)
© www.soinside.com 2019 - 2024. All rights reserved.