pandas.Series.sample#

Series.sample(n=None, frac=None, replace=False, веса=None, random_state=None, ось=None, ignore_index=False)[источник]#

Вернуть случайную выборку элементов из оси объекта.

Вы можете использовать random_state для воспроизводимости.

Параметры:
nint, необязательный

Количество элементов для возврата с оси. Нельзя использовать с frac. По умолчанию = 1, если frac = None.

fracfloat, опционально

Доля элементов оси для возврата. Нельзя использовать с n.

replacebool, по умолчанию False

Разрешить или запретить выборку одной и той же строки более одного раза.

весаstr или ndarray-like, optional

Значение по умолчанию 'None' приводит к равномерному взвешиванию вероятностей. Если передана Series, будет выполнено выравнивание с целевым объектом по индексу. Значения индекса в весах, не найденные в объекте выборки, будут проигнорированы, а значения индекса в объекте выборки, отсутствующие в весах, будут назначены веса, равные нулю. Если вызвано на DataFrame, будет принято имя столбца при axis = 0. Если веса не являются Series, они должны иметь ту же длину, что и ось, по которой производится выборка. Если сумма весов не равна 1, они будут нормализованы к сумме 1. Пропущенные значения в столбце весов будут обработаны как нули. Бесконечные значения не допускаются.

random_stateint, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional

Если int, array-like или BitGenerator, начальное значение для генератора случайных чисел. Если np.random.RandomState или np.random.Generator, использовать как есть.

Изменено в версии 1.4.0: np.random.Generator объекты теперь принимаются

ось{0 или 'index', 1 или 'columns', None}, по умолчанию None

Ось для выборки. Принимает номер оси или имя. По умолчанию — статистическая ось для данного типа данных. Для Series этот параметр не используется и по умолчанию равен None.

ignore_indexbool, по умолчанию False

Если True, результирующий индекс будет помечен как 0, 1, …, n - 1.

Добавлено в версии 1.3.0.

Возвращает:
Series или DataFrame

Новый объект того же типа, что и вызывающий, содержащий n элементы, случайно выбранные из вызывающего объекта.

Смотрите также

DataFrameGroupBy.sample

Генерирует случайные выборки из каждой группы объекта DataFrame.

SeriesGroupBy.sample

Генерирует случайные выборки из каждой группы объекта Series.

numpy.random.choice

Генерирует случайную выборку из заданного 1-D массива numpy.

Примечания

Если frac > 1, замена должно быть установлено в True.

Примеры

>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
...                    'num_wings': [2, 0, 0, 0],
...                    'num_specimen_seen': [10, 2, 1, 8]},
...                   index=['falcon', 'dog', 'spider', 'fish'])
>>> df
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

Извлечь 3 случайных элемента из Series df['num_legs']: Обратите внимание, что мы используем random_state для обеспечения воспроизводимости примеров.

>>> df['num_legs'].sample(n=3, random_state=1)
fish      0
spider    8
falcon    2
Name: num_legs, dtype: int64

Случайная 50% выборка из DataFrame с заменой:

>>> df.sample(frac=0.5, replace=True, random_state=1)
      num_legs  num_wings  num_specimen_seen
dog          4          0                  2
fish         0          0                  8

Повышенная выборка DataFrame с заменой: Обратите внимание, что replace параметр должен быть True для frac параметр > 1.

>>> df.sample(frac=2, replace=True, random_state=1)
        num_legs  num_wings  num_specimen_seen
dog            4          0                  2
fish           0          0                  8
falcon         2          2                 10
falcon         2          2                 10
fish           0          0                  8
dog            4          0                  2
fish           0          0                  8
dog            4          0                  2

Использование столбца DataFrame в качестве весов. Строки с большим значением в num_specimen_seen столбец с большей вероятностью будет выбран.

>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
fish           0          0                  8