Spec-Zone.ru › pandas 0.25

pandas.DataFrame.sample

DataFrame.sample(self, 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, будет выровнена с целевым объектом по индексу. Значения индекса в весах, отсутствующие в выбранном объекте, будут игнорироваться, а значения индекса в выбранном объекте, отсутствующие в весах, будут присвоены весу 0. Если вызывается для DataFrame, будет приниматься имя столбца при axis = 0. За исключением случаев, когда weights — Series, weights должны иметь такую же длину, как и ось, которая подвергается выборке. Если сумма весов не равна 1, они будут нормализованы до суммы 1. Пропущенные значения в столбце весов будут обрабатываться как ноль. Бесконечные значения не допускаются.

random_state : int or numpy.random.RandomState, optional

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

axis : int or string, optional

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

Возвращает:
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.25.0/reference/api/pandas.DataFrame.sample.html

Spec-Zone.ru

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