當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark Series.sample用法及代碼示例

本文簡要介紹 pyspark.pandas.Series.sample 的用法。

用法:

Series.sample(n: Optional[int] = None, frac: Optional[float] = None, replace: bool = False, random_state: Optional[int] = None) → pyspark.pandas.series.Series

從對象的軸返回項目的隨機樣本。

請通過指定frac 參數使用命名參數調用此函數。

您可以使用random_state 來獲得重現性。但是,請注意,與 pandas 不同,在 pandas-on-Spark/Spark 中指定種子並不能保證采樣的行將被固定。結果集不僅取決於種子,還取決於數據在機器之間的分布方式,以及涉及 shuffle 操作時的網絡隨機性。即使在最簡單的情況下,結果集也將取決於係統的 CPU 核心數。

參數

n整數,可選

要返回的項目數。目前不支持此函數。請改用 frac。

frac浮點數,可選

要返回的軸項目的分數。

replace布爾值,默認為 False

有或沒有更換的樣品。

random_state整數,可選

隨機數生成器的種子(如果是 int)。

返回

係列或DataFrame

一個與調用者類型相同的新對象,其中包含采樣項。

例子

>>> df = ps.DataFrame({'num_legs': [2, 4, 8, 0],
...                    'num_wings': [2, 0, 0, 0],
...                    'num_specimen_seen': [10, 2, 1, 8]},
...                   index=['falcon', 'dog', 'spider', 'fish'],
...                   columns=['num_legs', 'num_wings', 'num_specimen_seen'])
>>> df  
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

DataFrame 的隨機 25% 樣本。請注意,我們使用random_state 來確保示例的可重複性。

>>> df.sample(frac=0.25, random_state=1)  
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
fish           0          0                  8

Series df['num_legs'] 中提取 25% 的隨機元素,並進行替換,因此相同的項目可能會出現多次。

>>> df['num_legs'].sample(frac=0.4, replace=True, random_state=1)  
falcon    2
spider    8
spider    8
Name: num_legs, dtype: int64

目前不支持指定要退回的確切商品數量。

>>> df.sample(n=5)  
Traceback (most recent call last):
    ...
NotImplementedError: Function sample currently does not support specifying ...

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.Series.sample。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。