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, будет выровнена с целевым объектом по индексу. Значения индекса в weights, отсутствующие в объекте выборки, будут игнорироваться, а значения индекса в объекте выборки, отсутствующие в weights, будут присвоены весам нуля. Если вызывается на DataFrame, будет принимать имя столбца, когда axis = 0. За исключением случаев, когда weights — это Series, weights должны иметь такую же длину, как и ось, которая выбирается. Если веса не суммируются до 1, они будут нормализованы для суммы в 1. Пропущенные значения в столбце весов будут обрабатываться как ноль. значения inf и -inf не допускаются.
random_state : int или numpy.random.RandomState, необязательно
Зерно для генератора случайных чисел (если int) или объект 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.21.1/generated/pandas.DataFrame.sample.html