每次在Python中运行代码时,如何以相同的顺序随机化pandas列?

时间:2018-12-22 04:40:08

标签: python pandas numpy random

这是我的代码:

random_idx = np.random.permutation(len(cIds))
train_Ids = cIds[random_idx[:train_size]]

现在,我希望每次运行此代码行时都以相同顺序将列表随机化。

注意:我不想将random_idx变量保存在文本文件中,并获取相同的列表。

2 个答案:

答案 0 :(得分:6)

您可以使用seed来告诉numpy生成相同的随机数:

np.random.seed(seed=1234)
random_idx = np.random.permutation(len(cIds))

与:

np.random.seed(1234)
random_idx = np.random.permutation(len(cIds))

random_idx = np.random.RandomState(seed=1234).permutation(len(cIds)
  

seed:必须可转换为32位无符号整数。

答案 1 :(得分:1)

或者您可以采用熊猫风格:

cIds.sample(n=train_size, 
            replace=False, 
            random_state=your_favorite_number_here)