Python 分析数据,解析生成正态分布图,并保存图片在当前目录下

  1. 下载Python3.0以上版本
  2. CMD 中输入以下插件下载,代码中会使用到
    1. pip install pandas
    2. pip install numpy
    3. pip install matplotlib
    4. pip install seaborn
  3. 功能:
    1. Python 读取指定Excel文件中某列数据,注意:不得有文本内容,先自行过滤掉;
    2. 生成正态分布与概率曲线;
    3. 设定上限范围与下限范围;
    4. 标注上限数值、下限数值和中心数据;
    5. 生成图片,保存在当前目录下,命名为:“日期+时间”.png;

  4. 代码内容:
    1. #请注意,这段代码假设你的Excel文件名为"A.xlsx",并且数据在第一列("A"列)。如果你的文件名或数据的列名不同,你需要相应地修改代码。要完成这个任务,你可以使用Python中的pandas库来读取Excel文件,matplotlib和numpy库来生成正态分布图,以及seaborn库来画图。以下是一个例子:
      
      #python
      import pandas as pd
      import numpy as np
      import matplotlib.pyplot as plt
      import seaborn as sns
      from datetime import datetime
      import os
      
      # 从.xlsx文件中读取数据
      #df = pd.read_excel('A.xlsx', usecols=['1'])
      df = pd.read_excel('A.xlsx', usecols=None)
      #df = df[['A', 'C']]
      
      # 假设我们想基于第一列的数据生成正态分布
      data = df.iloc[:, 25]
      
      # 计算正态分布的均值和标准差
      mu, sigma = np.mean(data), np.std(data)
      
      # 创建正态分布
      s = np.random.normal(mu, sigma, 1000)
      
      Lower_limit = 11800
      Upper_limit = 72000
      # 创建图形
      plt.figure(figsize=(10,6))
      
      # 使用seaborn来画正态分布图,并标注上下限
      sns.histplot(s, kde=True, bins=30, color='blue')
      plt.title('Normal Distribution with Mean = %d and Std = %d' % (round(mu), sigma))
      plt.axvline(mu, color='red', linestyle='--', label=f"{'Mean: '} {round(mu)}")
      #plt.axvline(mu-sigma, color='yellow', linestyle='--', label='Lower limit')
      #plt.axvline(mu+sigma, color='yellow', linestyle='--', label='Upper limit')
      plt.axvline(Lower_limit, color='yellow', linestyle='--', label=f"{'Lower_limit: '}{Lower_limit}")
      plt.axvline(Upper_limit, color='green', linestyle='--', label=f"{'Upper_limit: '}{Upper_limit}")
      #plt.title('Normal Distribution with Mean = %d and Std = %d' % (mu, sigma))
      plt.legend()
      #plt.show()
      
      # 获取当前日期和时间并保存图形
      now = datetime.now()  # 获取当前日期和时间
      plt.savefig(f'{now:%Y-%m-%d_%H-%M-%S}.png', bbox_inches='tight', pad_inches=0)  # 保存图形到当前目录下,文件名为当前日期和时间
      
      plt.show()
      plt.close()  # 关闭图形窗口
      #这个脚本会读取名为"A.xlsx"的Excel文件中的'A'列数据,并基于这些数据生成一个正态分布。然后,它会创建一个图形来显示这个正态分布,并在图形中标注出均值和正态分布的标准差上下限。注意,你需要根据你的实际需求来修改这个脚本。
  5. 结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值