Spec-Zone.ru › pandas 0.24

pandas.DataFrame.sample

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

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

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

Параметры:
n : int, optional

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

frac : float, optional

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

replace : bool, default False

Выборка с возвращением или без возвращения.

weights : str or ndarray-like, optional

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

random_state : int or numpy.random.RandomState, optional

Зерно для генератора случайных чисел (если целое число) или объект numpy RandomState.

axis : int or string, optional

Ось для выборки. Принимает номер или имя оси. По умолчанию используется статистическая ось для данного типа данных (0 для Series и DataFrame, 1 для Panel).

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

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

См. также

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

Примеры

>>> 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 в качестве весов. Строки с большим значением в столбце 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–2012, 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/0.24.2/reference/api/pandas.DataFrame.sample.html

Spec-Zone.ru

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