Spec-Zone.ru › pandas 0.23

pandas.Series.sample

Series.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None) [source]

Возвращает случайную выборку элементов из оси объекта.

Вы можете использовать random_state для воспроизводимости.

Параметры:

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, необязательно

Зерно для генератора псевдослучайных чисел (если целое число) или объект numpy RandomState.

axis : int или строка, необязательно

Ось для выборки. Принимает номер оси или имя. По умолчанию — статическая ось для данного типа данных (0 для Series и DataFrame, 1 для Panels).

Возвращаемое значение:
Новый объект того же типа, что и вызывающий объект.

Примеры

Сгенерировать пример 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

Вы можете использовать random state для воспроизводимости:

>>> df.sample(random_state=1)
A         B         C         D
37 -2.027662  0.103611  0.237496 -0.165867
43 -0.259323 -0.583426  1.516140 -0.479118
12 -1.686325 -0.579510  0.985195 -0.460286
8   1.167946  0.429082  1.215742 -1.636041
9   1.197475 -0.864188  1.554031 -1.505264

© 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.23.4/generated/pandas.Series.sample.html

Spec-Zone.ru

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