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-like, необязательно
-
По умолчанию ‘None’ приводит к равномерному взвешиванию вероятностей. Если передается Series, будет выровнено с целевым объектом по индексу. Значения индекса в весах, которых нет в образце, будут проигнорированы, а значения индекса в образце, которых нет в весах, будут присвоены весам 0. Если вызывается на DataFrame, будет приниматься имя столбца, когда axis = 0. Если весы не являются Series, весы должны иметь такую же длину, как ось, которая берётся для выборки. Если весы не суммируются до 1, они будут нормализованы до суммы 1. Пропущенные значения в столбце весов будут обрабатываться как нули. Бесконечные значения не допускаются.
- random_state:int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, необязательно
-
Если int, array-like или BitGenerator, семя генератора случайных чисел. Если 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 случайных элемента из
Seriesdf['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.Series.sample.html