- 下载Python3.0以上版本
- CMD 中输入以下插件下载,代码中会使用到
- pip install pandas
- pip install numpy
- pip install matplotlib
- pip install seaborn
- 功能:
- Python 读取指定Excel文件中某列数据,注意:不得有文本内容,先自行过滤掉;
- 生成正态分布与概率曲线;
- 设定上限范围与下限范围;
- 标注上限数值、下限数值和中心数据;
-
生成图片,保存在当前目录下,命名为:“日期+时间”.png;
- 代码内容:
-
#请注意,这段代码假设你的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'列数据,并基于这些数据生成一个正态分布。然后,它会创建一个图形来显示这个正态分布,并在图形中标注出均值和正态分布的标准差上下限。注意,你需要根据你的实际需求来修改这个脚本。
-
- 结果:
Python 分析数据,解析生成正态分布图,并保存图片在当前目录下
于 2023-10-06 12:45:04 首次发布