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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。