pandas.DataFrame.sample
-
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source] -
Возвращает случайную выборку элементов из оси объекта.
Введено в версии 0.16.1.
Параметры: n : int, необязательно
Количество элементов из оси для возврата. Не может использоваться с
frac. По умолчанию = 1, еслиfrac= None.frac : float, необязательно
Доля элементов оси для возврата. Не может использоваться с
n.replace : boolean, необязательно
Выборка с возвратом или без возврата. По умолчанию = False.
weights : str или ndarray-подобный объект, необязательно
По умолчанию ‘None’ приводит к равномерному взвешиванию вероятностей. Если передана Series, она будет согласована с целевым объектом по индексу. Значения индекса в весах, которых нет в выборке, будут проигнорированы, а значения индекса в выборке, которых нет в весах, будут присвоены весу 0. Если вызывается для DataFrame, будет принят имя столбца, когда ось = 0. Если весы не являются Series, весы должны иметь ту же длину, что и ось, из которой осуществляется выборка. Если весы не суммируются до 1, они будут нормализованы до суммы 1. Пропущенные значения в столбце весов будут обрабатываться как 0. Значения inf и -inf недопустимы.
random_state : int или numpy.random.RandomState, необязательно
Семена для генератора случайных чисел (если int), или объект numpy RandomState.
axis : int или строка, необязательно
Ось для выборки. Принимает номер оси или имя. По умолчанию — статистическая ось для данного типа данных (0 для Series и DataFrames, 1 для панелей).
Возвращает: Новый объект того же типа, что и вызывающий объект.
Примеры
Создайте пример
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.19.2/generated/pandas.DataFrame.sample.html