Spec-Zone.ru › pandas 2

pandas.Series.sample

Series.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False)[source]

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

Можно использовать random_state для воспроизводимости.

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

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

frac:float, необязательно

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

replace:bool, по умолчанию False

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

weights:str или ndarray-like, необязательно

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

random_state:int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, необязательно

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

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

axis:{0 или ‘index’, 1 или ‘columns’, None}, по умолчанию None

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

ignore_index:bool, по умолчанию False

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

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

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

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

См. также

DataFrameGroupBy.sample

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

SeriesGroupBy.sample

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

numpy.random.choice

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

Примечания

Если frac > 1, replacement следует установить в 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

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.Series.sample.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API