Spec-Zone.ru › pandas 1

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-подобный объект, необязательно

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

random_state:int, массив, BitGenerator, np.random.RandomState, np.random.Generator, необязательно

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

Изменено в версии 1.1.0: массив-подобный объект и объект BitGenerator теперь передаются в np.random.RandomState() в качестве семени

Изменено в версии 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/1.5.0/reference/api/pandas.Series.sample.html

Spec-Zone.ru

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