Spec-Zone.ru › pandas 2

pandas.DataFrame.sample

DataFrame.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, array-подобный объект, BitGenerator, np.random.RandomState, np.random.Generator, необязательно

Если int, array-подобный объект или BitGenerator, используется seed для генератора случайных чисел. Если 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.DataFrame.sample.html

Spec-Zone.ru

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