python分层抽样txt文件的代码
时间: 2023-11-12 08:13:38 浏览: 101
python实现的分层随机抽样案例
以下是Python分层抽样txt文件的代码示例:
```python
import random
# 设置分层抽样比例
layer_ratios = {
'layer1': 0.1,
'layer2': 0.3,
'layer3': 0.6
}
# 设置输出文件路径
output_path = 'sampled_data.txt'
# 读取原始数据文件
with open('original_data.txt', 'r') as f:
data = f.readlines()
# 分层抽样
sampled_data = []
for line in data:
# 随机选择一个层
layer = random.choices(list(layer_ratios.keys()), weights=list(layer_ratios.values()))[0]
# 根据层的比例随机抽样
if random.random() < layer_ratios[layer]:
sampled_data.append(line)
# 将抽样结果写入输出文件
with open(output_path, 'w') as f:
f.writelines(sampled_data)
```
说明:
1. 首先设置了分层抽样比例,即每个层的抽样比例,以字典形式存储。
2. 然后设置了输出文件路径和原始数据文件路径。
3. 读取原始数据文件,保存为一个列表。
4. 循环遍历原始数据文件的每一行,随机选择一个层,根据该层的抽样比例,判断是否抽样该行数据,并将其保存到抽样数据列表中。
5. 将抽样结果写入输出文件。
阅读全文