pyspark dataframe 分层采样
时间: 2023-11-24 13:05:53 浏览: 84
pyspark dataframe 分层采样可以通过使用`sampleBy`函数来实现。该函数需要传入两个参数,第一个参数是分层列的名称,第二个参数是每个分层值的采样比例。例如,如果我们有一个名为`df`的pyspark dataframe,其中包含一个分层列`category`和一个数值列`value`,我们可以按照以下方式进行分层采样:
```python
# 导入必要的库
from pyspark.sql.functions import col
# 定义分层列和采样比例
fractions = {"category1": 0.5, "category2": 0.1, "category3": 0.2, "category4": 0.3}
# 进行分层采样
sampled_df = df.sampleBy("category", fractions, seed=42)
```
上述代码中,我们定义了一个名为`fractions`的字典,其中包含每个分层值的采样比例。然后,我们使用`sampleBy`函数对`df`进行分层采样,并将结果保存在`sampled_df`中。注意,我们还指定了一个随机种子`seed`,以确保每次运行代码时得到的采样结果都是一致的。
阅读全文