Spec-Zone.ru › pandas 1

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

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

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

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

Изменено в версии 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

Образец upsample 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.DataFrame.sample.html

Spec-Zone.ru

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