PySpark DataFrame 的sampleBy(~)
方法基於列執行分層采樣。請參閱下麵的示例以進行說明。
參數
1.col
| Column
或 string
執行采樣的列。
2. fractions
| dict
包含該值的概率。請參閱下麵的示例以進行說明。
3. seed
| int
| optional
每次對 seed
使用相同的值都會產生完全相同的結果。默認情況下,不會設置種子,這意味著每次運行該方法時結果都會不同。
返回值
PySpark 數據幀。
例子
考慮以下PySpark DataFrame:
from pyspark.sql.types import *
vals = ['a','a','a','a','a','a','b','b','b','b']
df = spark.createDataFrame(vals, StringType())
df.show(3)
+-----+
|value|
+-----+
| a|
| a|
| a|
+-----+
only showing top 3 rows
執行分層抽樣
讓我們根據 value
列進行分層采樣:
df.sampleBy('value', fractions={'a':0.5,'b':0.25}).show()
+-----+
|value|
+-----+
| a|
| a|
| a|
| b|
| b|
+-----+
在這裏,值為 'a'
的行將以 0.5
的概率包含在我們的樣本中,而值為 'b'
的行將以 0.25
的概率包含在我們的樣本中。
警告
每次包含的樣本數量都會不同。例如,指定 {'a':0.5}
並不意味著將包含值為 'a'
的一半行 - 相反,它意味著將以 0.5
的概率包含每一行。這意味著在某些情況下,所有具有值 'a'
的行都將出現在最終樣本中。
相關用法
- Python Pandas DataFrame sample方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python PySpark DataFrame select方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame sort_index方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sort方法用法及代碼示例
- Python Pandas DataFrame sub方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame sum方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python Pandas DataFrame slice_shift方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | sampleBy method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。