帮我写一个python程序,输入一个字典,字典的键为某一名称,字典的值为某一数据,分别生成字典键对应的值的20个数据,使得20个数据的标准差小于某一值范围内,并把数据输出到csv表格。
时间: 2024-09-28 09:10:30 浏览: 30
当然可以。下面是一个简单的Python程序示例,它会读取字典,生成满足条件的随机数据并将其保存到CSV文件中。假设我们有一个字典 `data_dict`,其中包含 `name` 作为键,`value` 作为值,标准差范围设定为 `std_dev_range`:
```python
import csv
import random
from statistics import stdev
# 假设你已经有了这样的字典
data_dict = {'Alice': 100, 'Bob': 200, 'Charlie': 300}
def generate_data(name, value, std_dev_range):
mean = value
min_value = value - std_dev_range
max_value = value + std_dev_range
data_list = [random.gauss(mean, std_dev_range) for _ in range(20)]
return {name: data_list}
# 标准差范围示例
std_dev_range = 5
# 生成满足条件的数据
processed_data = {k: generate_data(k, v, std_dev_range) for k, v in data_dict.items()}
# 写入CSV文件
with open('output.csv', 'w', newline='') as csvfile:
fieldnames = ['Name'] + list(data_dict.keys())
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for name, values in processed_data.items():
writer.writerow({'Name': name} | values)
阅读全文