Pandas: создать новый столбец в df со случайными целыми числами от диапазона

У меня есть кадр данных pandas с 50k строк. Я пытаюсь добавить новый столбец, который является случайным образом генерируемым целым числом от 1 до 5.

Если я хочу 50k случайных чисел, я бы использовал:

df1['randNumCol'] = random.sample(xrange(50000), len(df1)) 

но для этого я не уверен, как это сделать.

Боковое примечание в R, я бы сделал:

 sample(1:5, 50000, replace = TRUE) 

Какие-либо предложения?

2 Solutions collect form web for “Pandas: создать новый столбец в df со случайными целыми числами от диапазона”

Одним из решений является использование np.random.randint :

 import numpy as np df1['randNumCol'] = np.random.randint(1, 6, df1.shape[0]) # or if the numbers are non-consecutive (albeit slower) df1['randNumCol'] = np.random.choice([1, 9, 20], df1.shape[0]) 

Чтобы сделать воспроизводимые результаты, вы можете установить семя с помощью np.random.seed(42) .

Чтобы добавить столбец случайных чисел, используйте randint(low, high, size) . Нет необходимости тратить range(low, high) выделения памяти range(low, high) ; это может быть большой объем памяти, если high размер.

 df1['randNumCol'] = np.random.randint(0,5, size=len(df1)) 

(Обратите внимание также, что когда мы просто добавляем столбец, размер – это просто целое число. В общем случае, если мы хотим сгенерировать массив / randint()s из randint()s , размер может быть кортежем, как в Pandas: как создать кадр данных случайных чисел? )

  • Как я могу вставить строку в фреймворк данных, сохраняя числовой порядок индексов строк?
  • Открывается критическое предупреждение при выполнении задания pandas с loc и iloc
  • как построить гистограммы из dataframes в пандах
  • Преобразование столбца со строками, разделяемыми значениями в строки
  • Самый быстрый способ загрузки числовых данных в массив python / pandas / numpy из MySQL
  • Написание и изменение существующей книги с использованием Python
  • Как эффективно подсчитывать строки с одним проходом над файловым кадром
  • Вычтите год, если в предыдущем месяце был январь
  • Pandas хороший подход к получению топ-n записей в каждой группе
  • Python Pandas: как читать только первые n строк CSV-файлов?
  • Как фильтровать строки в pandas с помощью регулярных выражений
  • Python - лучший язык программирования в мире.