pandas.DataFrame.sample
-
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None) -
Возвращает случайную выборку элементов из оси объекта.
Новая в версии 0.16.1.
Параметры: 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. Пропущенные значения в столбце weights будут обрабатываться как ноль. Значения 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.18.1/generated/pandas.DataFrame.sample.html