编辑:我发现该问题与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)


我搜索了无济于事。

最佳答案

如果要对随机种子使用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)

关于python - 如何为pd.util.testing.makeDataFrame()设置随机种子?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59002078/

10-12 20:04