pandas按比例分层抽样
时间: 2023-08-04 10:05:17 浏览: 176
Python数据分析(8)—-用Pandas实现数据分层抽样
您可以使用`pandas`库中的`sample`函数进行按比例分层抽样。以下是一个示例代码:
```python
import pandas as pd
# 创建一个示例数据集
data = pd.DataFrame({'group': ['A', 'A', 'B', 'B', 'B'], 'value': [1, 2, 3, 4, 5]})
# 按照"group"列进行分层抽样,每个组的抽样比例为0.5
sampled_data = data.groupby('group').apply(lambda x: x.sample(frac=0.5))
print(sampled_data)
```
上述代码中,我们首先创建了一个包含"group"和"value"两列的示例数据集。然后,使用`groupby`函数按照"group"列进行分组,并通过`apply`函数在每个组上应用抽样操作。在`sample`函数中,我们设置了`frac`参数为0.5,表示每个组抽样的比例为50%。最后,打印出抽样后的数据集。
注意,这里的分层抽样是基于每个组内的比例进行抽样,而不是整体数据集的比例。如果您需要按照整体数据集的比例进行分层抽样,请参考`stratified sampling`方法。
阅读全文