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 случайных элементов из
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.DataFrame.sample.html