Spec-Zone.ru › pandas 0.18

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API