python数据处理作业6:随机生产一个服从正态分布长度为1000的数组,将这个数组划分为25个区间,画出数组的直方图和密度图

每日小语

我只有忘掉自己,才能津津有味地进行沉思和遐想。——卢梭

gpt代码

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# 随机生成一个服从正态分布的长度为1000的数组
data = np.random.randn(1000)

# 划分为25个区间
num_bins = 25

# 画直方图
plt.figure(figsize=(10, 6))
plt.hist(data, bins=num_bins, density=True, alpha=0.7, color='blue', edgecolor='black')

# 画密度图
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, np.mean(data), np.std(data))
plt.plot(x, p, 'k', linewidth=2)

# 设置图的标题和标签
plt.title('Histogram and Density Plot of Random Data')
plt.xlabel('Value')
plt.ylabel('Density')

# 显示图形
plt.show()

 上一道题中的那个1000,如果改小就不光滑了。

拆解分析代码

1.

from scipy.stats import norm

`from scipy.stats import norm` 是导入了 SciPy 库中的 `norm` 模块。在这个上下文中,`norm` 模块提供了正态分布(normal distribution)的相关函数,比如概率密度函数(PDF)等。

在之前的代码示例中,使用了 `norm.pdf()` 函数,该函数用于计算正态分布的概率密度函数。这在画密度图时非常有用,因为我们可以使用正态分布的概率密度函数来拟合数据并绘制密度曲线。

具体来说,`norm.pdf(x, np.mean(data), np.std(data))` 计算了在给定数据 `data` 的均值和标准差下,每个 `x` 值对应的正态分布的概率密度。这样就可以在图上画出数据的密度图,与直方图进行比较。

2.

num_bins = 25

`num_bins = 25` 是用于设置直方图的分箱数量的变量。在这个例子中,设置 `num_bins = 25` 表示将数据分为25个等宽的区间,每个区间用于绘制直方图的柱状图。

通过设置 `num_bins = 25`,我们将数据划分为25个区间,即将 x 轴的范围分为25个小块,根据数据落在每个小块中的数量绘制柱状图。这样设置可以在保持可读性和细节之间取得合适的平衡。

3.

# 画直方图
plt.figure(figsize=(10, 6))
plt.hist(data, bins=num_bins, density=True, alpha=0.7, color='blue', edgecolor='black')

这部分代码是用 Matplotlib 库画直方图的部分。

- `plt.figure(figsize=(10, 6))` 创建一个图形对象,并设置其大小为宽度10和高度6。这是为了确保图形具有适当的大小,以便清晰地显示直方图和密度图。

- `plt.hist(data, bins=num_bins, density=True, alpha=0.7, color='blue', edgecolor='black')` 使用 `plt.hist()` 函数来生成直方图。其中的参数包括:
  - `data` 是要绘制直方图的数据数组。
  - `bins=num_bins` 表示将数据划分为指定数量的区间,即25个区间。
  - `density=True` 表示将直方图转换为概率密度图。
  - `alpha=0.7` 设置柱状图的透明度。
  - `color='blue'` 设置柱状图的颜色。
  - `edgecolor='black'` 设置柱状图的边框颜色。

这样,通过 `plt.hist()` 函数,我们在图形中画出了数据的直方图。

4.

# 画密度图
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, np.mean(data), np.std(data))
plt.plot(x, p, 'k', linewidth=2)

- 首先通过 `plt.xlim()` 获取 x 轴的范围,将最小值和最大值分别赋值给 `xmin` 和 `xmax`。

- 然后使用 `np.linspace(xmin, xmax, 100)` 生成了一个包含 100 个等间距值的数组 `x`,用于绘制密度图的 x 轴。

- 接下来使用 `norm.pdf(x, np.mean(data), np.std(data))` 计算了在给定数据 `data` 的均值和标准差下,每个 `x` 值对应的正态分布的概率密度。

`norm.pdf(x, np.mean(data), np.std(data))` 是使用 SciPy 库中的 `norm` 模块计算正态分布的概率密度函数(Probability Density Function,PDF)。具体解释如下:

- `x`:是一个包含数值的数组,表示要在其上计算概率密度函数的点。
- `np.mean(data)`:均值。
- `np.std(data)`:标准差。

使用 `norm.pdf(x, np.mean(data), np.std(data))` 可以根据给定的均值和标准差计算 `x` 值上的概率密度。

在这个上下文中,这行代码的作用是计算在数据 `data` 的均值和标准差下,每个 `x` 值对应的正态分布的概率密度,并将结果作为密度图的 y 值。

- 最后使用 `plt.plot(x, p, 'k', linewidth=2)` 画出了密度图,使用黑色线条 `'k'`,线宽为 2。

5.

# 设置图的标题和标签
plt.title('Histogram and Density Plot of Random Data')
plt.xlabel('Value')
plt.ylabel('Density')

这个不多赘述。

自己敲写

其实后面很多可以省略。

density=True蛮重要的,它把直方图变成了一个曲线。

极限精简

import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt 
#生成1000的数组
data=np.random.randn(1000)
#划分为25个区间
num_bins=25
#直方图
plt.figure(figsize=(10,6))
plt.hist(data,bins=num_bins,density=True)
#密度图
xmin,xmax=plt.xlim()
x=np.linspace(xmin,xmax,100)
p = norm.pdf(x,np.mean(data),np.std(data))
plt.plot(x,p,'k',linewidth=2)
#
plt.show()

撒花花~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/158725.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】U盘安装的cfg引导文件配置

isolinux.cfg文件 default vesamenu.c32 timeout 600display boot.msg# Clear the screen when exiting the menu, instead of leaving the menu displayed. # For vesamenu, this means the graphical background is still displayed without # the menu itself for as long …

什么是好用的HR人才测评?

对于HR来说,选用一个合适的测评工具,我想不外乎以下几点: 1、成本可控 不是所有的HR都能申请到足够的资金,去做专业的人才测评,尤其是中小企业,这可是一笔不小 的开支。即使是基层普通岗位的成本&#xf…

redis运维(十一) python操作redis

一 python操作redis ① 安装pyredis redis常见错误 说明:由于redis服务器是5.0.8的,为了避免出现问题,默认最高版本的即可 --> 适配 ② 操作流程 核心:获取redis数据库连接对象 ③ Python 字符串前面加u,r,b的含义 原因: 字符串在…

视频一键转码:批量转换MP4视频的技巧

随着数字媒体设备的普及,视频文件在生活中扮演着越来越重要的角色。而在处理视频文件时,有时需要将其转换为不同的格式以适应不同的需求。其中,MP4格式因其通用性和高质量而备受青睐。本文详解云炫AI智剪如何一键转码的技巧,帮助批…

基础课6——开放领域对话系统架构

开放领域对话系统是指针对非特定领域或行业的对话系统,它可以与用户进行自由的对话,不受特定领域或行业的知识和规则的限制。开放领域对话系统需要具备更广泛的语言理解和生成能力,以便与用户进行自然、流畅的对话。 与垂直领域对话系统相比…

msvcp140.dll是什么东西以及如何解决其文件缺失问题

当我们在使用Windows电脑的过程中,有时候可能会遇到一些由于系统文件缺失或者损坏而导致的问题。其中,"msvcp140.dll缺失"就是一种常见的错误提示。msvcp140.dll究竟是什么?为什么它会缺失?又该如何解决这个问题呢&…

MIKE水动力笔记20_由dfs2网格文件提取dfs1断面序列文件

本文目录 前言Step 1 MIKE Zero工具箱Step 2 提取dfs1 前言 在MIKE中,dfs2是一个一个小格格的网格面的时间序列文件,dfs1是一条由多个点组成的线的时间序列文件。 如下两图: 本博文内容主要讲如何从dfs2网格文件中提取dfs1断面序列文件。 …

PaddleClas学习2——使用PPLCNet模型对车辆朝向进行识别(python)

使用PPLCNet模型对车辆朝向进行识别 1. 配置PaddlePaddle,PaddleClas环境2. 准备数据2.1 标注数据格式2.2 标注数据3. 模型训练3.1 修改配置文件3.2 训练、评估4 模型预测1. 配置PaddlePaddle,PaddleClas环境 安装:请先参考文档 环境准备 配置 PaddleClas 运行环境。 2. 准…

Unity Text文本首行缩进两个字符的方法

Text文本首行缩进两个字符的方法比较简单。通过代码把"\u3000\u3000"加到文本字符串前面即可。 参考如下代码: TMPtext1.text "\u3000\u3000" "这是一段有首行缩进的文本内容。\n这是第二行"; 运行效果如下图所示: 虽…

java入门,从CK导一部分数据到mysql

一、需求 需要从生产环境ck数据库导数据到mysql,数据量大约100w条记录。 二、处理步骤 1、这里的关键词是生产库,第二就是100w条记录。所以处理数据的时候就要遵守一定的规范。首先将原数据库表进行备份,或者将需要导出的数据建一张新的表了…

HarmonyOS 实现底部导航栏

该功能实现需要Tabs、TabsController、TabContent、Column等组件 Tabs相当于Android中的BottomNavigationView TabContent相当于Android中的fragment TabBuilder内相当于每个Item Entry Component struct Main {public tabsController : object new TabsController()State c…

让资产权利归于建设者:Kiosk使过程变得更简单

区块链凭借着其将人的权利地位置于平台之上的能力,可以重塑互联网,而自托管为个人提供了控制和管理其资产和数据的能力。链上交易支持建设者和客户之间的点对点交易。这些特质联合起来,可以将数字世界从基于价值提取的模式转变为基于价值创造…

IIC总线概述和通信时序代码详细图文解析

IIC总线 1 IIC总线概述 I2C总线两线制包括:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。总线必须由主机(通常为微控制器)控制,主机产生串行时钟(SCL&#x…

人工智能飞速发展的今天,IT行业能做些什么?

原创 | 文 BFT机器人 01 IT行业:信息流通的“媒介” IT行业作为一个信息化产业,通过运用信息手段和技术,为客户收集、整理、储存、传递信息情报,提供信息服务,并提供相应的信息手段、信息技术等服务。 近年来&#xf…

Pikachu漏洞练习平台之SSRF(服务器端请求伪造)

注意区分CSRF和SSRF: CSRF:跨站请求伪造攻击,由客户端发起; SSRF:是服务器端请求伪造,由服务器发起。 SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标…

串口通信

1.1 串口简介 在串口中 用0和1表示高低电平 VCC供电 设备A给设备B供电 如果各自都有供电的模块就不需要连接这个线 GND的连线是为了获取相同的电压基准 因为有时候获得电压各自判断的标准不一样 可能获得不一样的电压 如果想A发送数据给B那么蓝线不需要连接 如果想B发送给A那么…

语聚AI:无代码开发的API连接新选择,助力电商平台客户服务提升

无代码开发:语聚AI的新选择 在企业运营中,客户服务扮演着重要的角色。然而,许多企业在日常的客服管理中面临着重复咨询、人工接待成本高、缺乏知识库支持以及客服渠道分散等问题。如何提高客服的效率和质量,成为了企业急需解决的…

基于ssm+vue设备配件检修管理系统

摘要 随着工业设备的日益复杂和多样化,设备配件的检修管理成为保障生产运行和设备寿命的关键环节。本研究基于SSM框架(Spring Spring MVC MyBatis),致力于设计和实现一套全面、高效的设备配件检修管理系统。该系统不仅能够提高设…

1-2 暴力破解-模拟

模拟:根据题目要求编写代码 可分为:图形排版(根据某种规则输出特定图形)、日期问题、其他模拟 一.图形排版 1.输出梯形(清华大学) 法一:等差数列 分析:每行的星号个数为等差数列2n2…

数据结构-哈希表(C语言)

哈希表的概念 哈希表就是: “将记录的存储位置与它的关键字之间建立一个对应关系,使每个关键字和一个唯一的存储位置对 应。” 哈希表又称:“散列法”、“杂凑法”、“关键字:地址法”。 哈希表思想 基本思想是在关键字和存…