Как рандомизировать столбец панд в том же порядке каждый раз, когда я запускаю код на Python?

1

Это мой код:

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

Теперь я хочу, чтобы список был рандомизирован в том же порядке каждый раз, когда я запускаю эту строку кода.

Примечание: я не хочу сохранять переменную random_idx в текстовом файле и получать тот же список.

  • 2
    Возможный дубликат random.seed (): что он делает? и этот комментарий особенно полезен.
  • 0
    Вам нужно использовать seed как показано в этом ответе .
Показать ещё 1 комментарий
Теги:
pandas
numpy
random

2 ответа

3

Вы можете использовать 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-битные целые числа без знака

0

Или вы можете сделать это в стиле панд:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню