python - 根据均值和标准差生成随机整数

import numpy as np, pandas as pd, math

while True:
    mean, std_dev, num_samples = 105, 2.5, 100
    data = np.random.normal(loc=mean, scale=std_dev, size=num_samples)
    df = pd.DataFrame(data, columns=['value'])
    for i in range(len(df)):
        df['value'][i] = math.ceil(df['value'][i])  # 数字取整数,根据实际情况而定
    if 104 <= df['value'].mean().round(2) and df['value'].mean().round(2) <= 106:
        break
print(f"范围: {df['value'].min()}-{df['value'].max()}")
print(f"平均: {df['value'].mean().round(2)}±{df['value'].std().round(2)}")
# 范围: 97.0-111.0
# 平均: 104.96±2.51
posted @   wstong  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示