pandas.DataFrame.sample
-
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source] -
Возвращает случайную выборку элементов из оси объекта.
Параметры: n : int, необязательно
Количество элементов с оси для возврата. Не может быть использовано с
frac. По умолчанию = 1, еслиfrac= None.frac : float, необязательно
Доля элементов оси для возврата. Не может быть использовано с
n.replace : boolean, необязательно
Выборка с или без возврата. По умолчанию = False.
weights : str или ndarray-подобный объект, необязательно
По умолчанию ‘None’ приводит к равномерному распределению вероятностей. Если передана Series, она будет согласована с целевым объектом по индексу. Значения индексов в весах, отсутствующие в выборке, будут проигнорированы, а значения индексов в выборке, отсутствующие в весах, будут присвоены весам нулевые значения. Если используется DataFrame, можно указать имя столбца при axis = 0. Если весы не являются Series, они должны иметь такую же длину, как ось, которая выбирается. Если весы не суммируются до 1, они будут нормализованы до суммы в 1. Пропущенные значения в столбце весов будут обрабатываться как нулевые. Значения inf и -inf недопустимы.
random_state : int или numpy.random.RandomState, необязательно
Семечко для генератора случайных чисел (если целое число) или объект numpy RandomState.
axis : int или строка, необязательно
Ось для выборки. Принимает номер или имя оси. По умолчанию — ось по умолчанию для данного типа данных (0 для Series и DataFrame, 1 для Panel).
Возвращает: Новый объект того же типа, что и вызывающий.
Примеры
Сгенерировать пример
SeriesиDataFrame.>>> s = pd.Series(np.random.randn(50)) >>> s.head() 0 -0.038497 1 1.820773 2 -0.972766 3 -1.598270 4 -1.095526 dtype: float64 >>> df = pd.DataFrame(np.random.randn(50, 4), columns=list('ABCD')) >>> df.head() A B C D 0 0.016443 -2.318952 -0.566372 -1.028078 1 -1.051921 0.438836 0.658280 -0.175797 2 -1.243569 -0.364626 -0.215065 0.057736 3 1.768216 0.404512 -0.385604 -1.457834 4 1.072446 -1.137172 0.314194 -0.046661Далее извлечь случайную выборку из этих объектов...
3 случайных элемента из
Series.>>> s.sample(n=3) 27 -0.994689 55 -1.049016 67 -0.224565 dtype: float64
И 10% случайных элементов из
DataFrameс возвращением:>>> df.sample(frac=0.1, replace=True) A B C D 35 1.981780 0.142106 1.817165 -0.290805 49 -1.336199 -0.448634 -0.789640 0.217116 40 0.823173 -0.078816 1.009536 1.015108 15 1.421154 -0.055301 -1.922594 -0.019696 6 -0.148339 0.832938 1.787600 -1.383767
© 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.22.0/generated/pandas.DataFrame.sample.html