编辑:我发现问题与Jupyter笔记本有关。我无法全局设置种子,并且每次运行都无法获得相同的结果。我必须使用pd.util.testing.makeDataFrame()
在代码单元中设置随机种子。
原始问题:
我正在尝试设置随机状态,以便获得使用熊猫的pd.util.testing.makeDataFrame()
制作的DataFrame的可复制结果。
我为Python和NumPy设置了随机种子。我可以设置另一个随机种子来获得可重复的结果吗?
seed = 34
# python
import random
random.seed(seed)
# numpy
np.random.seed(seed)
我没有找到搜索结果。
答案 0 :(得分:1)
如果要对随机种子使用panda的测试框架,请尝试以下操作:
from numpy import random, prod, str_
from numpy.random import randn
import pandas.util.testing as test
from pandas import DataFrame, Series
def rand_df(N=30, K=4, seed=0, nchars=10):
random.seed(seed)
index = (
random.choice(test.RANDS_CHARS, size=nchars * prod(N))
.view((str_, nchars))
.reshape(N)
).astype('O')
return DataFrame({c: Series(randn(N), index=index) for c in test.getCols(K)})
a = rand_df()
b = rand_df()
print(a == b)
答案 1 :(得分:1)
我发现问题与Jupyter笔记本有关。我无法全局设置笔记本的种子,并且每次运行都无法获得相同的结果。我必须使用pd.util.testing.makeDataFrame()
在代码单元中设置随机种子。
This SO answer帮助确认。