我有四个字符串的列表。然后在Pandas数据框中,我想创建一个变量,从该列表中随机选择一个值,并将其分配给每一行。我使用的是numpy的随机选择,但阅读他们的文档,没有种子选项。如何为随机分配指定随机种子,以便每次随机分配都相同?
service_code_options = ['899.59O', '12.42R', '13.59P', '204.68L']
df['SERVICE_CODE'] = [np.random.choice(service_code_options ) for i in df.index]
Run Code Online (Sandbox Code Playgroud) 有一个功能,foo它使用该np.random功能.我想控制使用的种子foo,但实际上没有改变函数本身.我该怎么做呢?
基本上我想要这样的东西:
bar() # should have normal seed
with np.random.seed(0): # Doesn't work
foo()
bar() # should have normal seed
Run Code Online (Sandbox Code Playgroud)
解决方案像 这样:
rng = random.Random(42)
number = rng.randint(10, 20)
Run Code Online (Sandbox Code Playgroud)
在这种情况下不起作用,因为我无法访问内部工作foo(或者我错过了什么?).