当前位置: 首页 > news >正文

【Numpy】(2)numpy对象和random模块

numpy.array对象

numpy.array 对象是 NumPy 库的核心,它提供了一种高效的方式来存储和操作同质数据类型的多维数组。每个 numpy.array 对象都有一系列的属性,这些属性提供了关于数组的重要信息。理解这些属性对于有效地使用 NumPy 和进行数据分析是非常关键的。以下是 numpy.array 对象的一些最重要的属性的详细介绍:

ndarray.ndim

  • ndim 属性表示数组的维数,或者说数组轴的数量。例如,一个一维数组的 ndim 值为1,二维数组的 ndim 值为2,以此类推。

ndarray.shape

  • shape 属性是一个表示数组在每个维度上大小的元组。对于一个二维数组(矩阵),其形状将表示为 (行数, 列数)

ndarray.size

  • size 属性表示数组中元素的总数量。这等于 shape 属性中各维度大小的乘积。

ndarray.dtype

  • dtype 属性表示数组中元素的数据类型,如 float64(64位浮点数)、int32(32位整数)、bool(布尔值)等。

ndarray.itemsize

  • itemsize 属性表示数组中每个元素的大小(以字节为单位)。例如,数据类型为 float64 的数组中每个元素的 itemsize 为8,因为一个 float64 占用8字节。

ndarray.data

  • data 属性是一个指向数组实际数据的缓冲区的指针。通常,我们不直接使用这个属性,因为我们可以通过索引方法直接访问数组中的元素。

使用示例

下面是一个简单的例子,演示如何创建一个 NumPy 数组并使用这些属性:

import numpy as np# 创建一个二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])# 打印数组的属性
print("Array dimensions:", arr.ndim)
print("Shape of array:", arr.shape)
print("Size of array:", arr.size)
print("Data type of array elements:", arr.dtype)
print("Item size of array elements (bytes):", arr.itemsize)

np.random

np.random 模块是 NumPy 库的一部分,提供了用于生成随机数的功能。这个模块包含了一系列函数,用于生成不同类型的随机数据,如单个数、数组、根据特定分布生成的随机数等。以下是 np.random 模块的详细介绍,包括常用函数和使用示例。

随机数生成

生成单个随机数
  • np.random.rand(): 生成一个[0, 1)区间内的均匀分布的随机数。
  • np.random.randn(): 生成一个标准正态分布(均值为0,方差为1)的随机数。
生成随机数组
  • np.random.rand(d0, d1, ..., dn): 生成一个给定形状的数组,数组中的元素是[0, 1)区间内的均匀分布的随机数。
  • np.random.randn(d0, d1, ..., dn): 生成一个给定形状的数组,数组中的元素是标准正态分布的随机数。
  • np.random.randint(low, high=None, size=None, dtype='l'): 生成一个随机整数或整数数组,范围是[low, high),如果high=None,则范围是[0, low)。

随机种子

NumPy的随机数功能是基于伪随机数生成器的,这意味着它们是通过算法在确定性的基础上生成的,看起来像是随机的。设置相同的种子值将会产生相同的随机数序列。

  • np.random.seed(seed=None): 设置随机数生成的种子。指定种子后,随机数生成的序列是可重复的。

从特定分布生成随机数

  • np.random.normal(loc=0.0, scale=1.0, size=None): 从正态分布中抽取随机数。
  • np.random.uniform(low=0.0, high=1.0, size=None): 从均匀分布中抽取随机数。
  • np.random.binomial(n, p, size=None): 从二项分布中抽取随机数。
  • np.random.poisson(lam=1.0, size=None): 从泊松分布中抽取随机数。
  • np.random.exponential(scale=1.0, size=None): 从指数分布中抽取随机数。

随机抽样

  • np.random.choice(a, size=None, replace=True, p=None): 从给定的一维数组中随机抽取元素。replace 控制是否可以重复抽取同一个元素,p 指定各元素被抽取的概率。

示例代码

import numpy as np# 设置随机种子
np.random.seed(42)# 生成随机数组
arr_uniform = np.random.rand(2, 3)  # 均匀分布
arr_normal = np.random.randn(2, 3)  # 标准正态分布
arr_int = np.random.randint(1, 10, size=(2, 3))  # 随机整数print("Uniform distributed array:\n", arr_uniform)
print("\nNormally distributed array:\n", arr_normal)
print("\nRandom integer array:\n", arr_int)# 从正态分布生成随机数
mean = 0
std = 1
size = 5
normal_samples = np.random.normal(mean, std, size)
print("\nNormal distribution samples:", normal_samples)# 随机抽样
choices = np.random.choice(['a', 'b', 'c', 'd'], size=10, replace=True)
print("\nRandom choices:", choices)

相关文章:

【Numpy】(2)numpy对象和random模块

numpy.array对象 numpy.array 对象是 NumPy 库的核心,它提供了一种高效的方式来存储和操作同质数据类型的多维数组。每个 numpy.array 对象都有一系列的属性,这些属性提供了关于数组的重要信息。理解这些属性对于有效地使用 NumPy 和进行数据分析是非常…...

[QJS xmake] 非常简单地在Windows下编译QuickJS!

文章目录 前言准备C编译器xmake编译包 工程准备修改版本号第一遍编译第二遍编译效果 前言 quickjs是个很厉害的东西啊,我一直想编译一下的,奈何一直没成功。现在找了点时间成功编译了,写篇文章记录一下。当前版本:2024-1-13 应该…...

Ubuntu双系统/home分区扩容

一、Windows系统中利用磁盘管理分出空闲区域,如果多就多分一些 二、插入安装Ubuntu的U盘启动盘,lenovo电脑F12(其他电脑可选择其他类似方式)选择U盘启动项,然后选择ubuntu,出现安装界面,再选择t…...

0基础学习VR全景平台篇第145篇:图层控件功能

大家好,欢迎观看蛙色VR官方——后台使用系列课程!这期,我们将为大家介绍如何使用图层控件功能。 一.如何使用图层控件功能? 进入作品编辑页面,点击左边的控件后就可以在右边进行相应设置。 二.图层控件有哪些功能&am…...

一文看懂套利的那些事儿

我们经常在投资中都有提到套利策略,经常听到某某套利,或者借用什么套利工具,股票可以套利,基金期货期权也可以套利,套利到底是什么?套利到底是如何运用的? 今天我们一文解读套利市场&#xff01…...

【工具】Mermaid + 大模型画流程图

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 引入使用画TCP三次握手了解历史人物 总结 引入 最近看面试文章关于TCP三次握手和…...

内网渗透学习-环境搭建

1、环境搭建测试 虚拟机网络环境配置,模拟外网和内网 主机操作系统网络内网ip外网ip物理主机window10vmnet8192.168.70.1攻击机kali Linuxvmnet8192.168.70.134域控主机win server 2008 r2vmnet0192.168.52.138域成员主机win server 2k3vmnet0192.168.52.141服务器…...

el-progress渐变色

线性渐变喝环形渐变 线性渐变:直接修改样式根据所需颜色修改即可 ::v-deep .el-progress {.el-progress-bar {.el-progress-bar__outer {background: linear-gradient(to right#8075fd, #b87bfe)}.el-progress-bar__inner {background: linear-gradient(to right…...

DHCP在企业网的部署及安全防范

学习目标: 1. DHCP能够解决什么问题? 2. DHCP服务器如何部署? 3. 私接设备会带来什么问题以及如何防范? 给DHCP服务器配置地址: 地址池: DHCP有2种分配模式:全局分配和接口分配 DHCP enable...

列表的常用操作

列表的常用操作(方法) 列表除了可以: 定义使用下标索引获取值 此外列表也提供一些列功能:插入元素删除元素清空元素修改元素统计元素个数 等等功能,这些功能我们都称之为:列表的方法 列表的查询功能&…...

外包2月,技术退步惊现!大专生逆袭大厂,全靠这份神秘资料!

大家好,我是一名大专生,19年通过校招进入湖南某软件公司,从事功能测试工作已近4年。今年8月,我意识到长期舒适的环境让我变得不思进取,技术停滞不前,甚至因此失去了谈了2年的女朋友。我下定决心&#xff0c…...

考研失败, 学点Java打小工_Day3_卫语句_循环

1 编码规范——卫语句 表达异常分支时&#xff0c;少用if-else方式。   比如成绩判断中对于非法输入的处理&#xff1a; /*>90 <100 优秀>80 <90 良好>70 <80 一般>60 <70 及格<60 不及格*/Testpu…...

网络架构层_服务器上下行宽带

网络架构层_服务器上下行宽带 解释一 云服务器ECS网络带宽的概念、计费、安全及使用限制_云服务器 ECS(ECS)-阿里云帮助中心 网络带宽是指在单位时间&#xff08;一般指的是1秒钟&#xff09;内能传输的数据量&#xff0c;带宽数值越大表示传输能力越强&#xff0c;即在单位…...

面试算法-47-有效的括号

题目 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右…...

Android11 HID开发系统源码配置

# RK356X_ANDROID11_CUSTOM_HID ## 1.确认SDK版本。 cat .repo/manifests/include/rk356x_repository.xml <?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="device/rockchip/rk356x" name="rk/dev…...

73_Pandas获取分位数/百分位数

73_Pandas获取分位数/百分位数 使用 quantile() 方法获取 pandas 中 DataFrame 或 Series 的分位数/百分位数。 目录 Quantile() 的基本用法指定要获取的分位数/百分位数&#xff1a;参数 q指定interpolation方法&#xff1a;参数interpolation 数据类型 dtype 的差异 指定行…...

力扣练习题

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按…...

Telegraf--采集指定信息

Telegraf 采集字段解释 根据需求选取需要采集的字段,直接配置在fieldpass中,这样的好处是节约流量,更加简洁明了。下面加粗的部分是telegraf.conf中配置的指标,其他指标根据需求添加即可。 2024年3月18日10:55:41 更新说明: 添加自定义温度指标采集 CPU信息 usage_iowait:…...

Redis是如何实现持久化的?请解释RDB和AOF持久化方式的区别和优缺点。Redis是单线程还是多线程的?为什么Redis使用单线程模型仍然能保持高性能?

Redis是如何实现持久化的&#xff1f;请解释RDB和AOF持久化方式的区别和优缺点。 Redis实现持久化主要有两种方式&#xff1a;RDB&#xff08;Redis DataBase&#xff09;和AOF&#xff08;Append Only File&#xff09;。这两种方式的主要区别在于它们的持久化机制和适用场景。…...

java通过Excel批量上传数据

一、首先在前端写一个上传功能。 <template><!-- 文件上传 --><el-upload class"upload-demo" :on-change"onChange" :auto-upload"false"><el-button type"primary">上传Excel</el-button></el-up…...

免费商用AI绘画:Bidili Generator基于SDXL,LoRA风格一键切换

免费商用AI绘画&#xff1a;Bidili Generator基于SDXL&#xff0c;LoRA风格一键切换 1. 项目概述&#xff1a;当SDXL遇上Bidili风格 在AI绘画领域&#xff0c;Stable Diffusion XL&#xff08;SDXL&#xff09;1.0已经成为开源图像生成的标杆模型。而Bidili Generator正是在这…...

公开信息整理|2026年3月12日:公积金改革、儿童友好建设、存款利率进入“1时代”与科技突破速览

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

RL训练像点外卖?ProRL底层逻辑拆解(非常详细),从入门到精通看这篇!

一句话讲清楚&#x1f449;&#x1f3fb; NVIDIA提出ProRL Agent&#xff0c;把多轮LLM Agent的RL训练中「轨迹生成&#xff08;Rollout&#xff09;」这一步从训练框架中彻底剥离出来&#xff0c;变成一个独立的HTTP服务&#xff0c;训练侧只需发HTTP请求就能拿到轨迹和奖励信…...

AI辅助开发新范式:让快马智能模型为你规划互联网问卷系统架构

今天在开发一个在线问卷调查系统时&#xff0c;遇到了几个技术难点。经过在InsCode(快马)平台上的实践和AI辅助&#xff0c;总结出了一套完整的解决方案&#xff0c;分享给大家。 前端问卷页面的动态渲染逻辑 对于不同题型&#xff08;单选、多选、填空&#xff09;的渲染&am…...

【花雕动手做】ESP32-S3 + MimiClaw 实战:通过飞书自然语言指令控制板载 WS2812 彩灯

【花雕动手做】嵌入式 AI Agent 实战&#xff1a;MimiClaw ESP32-S3 接入飞书&#xff0c;远程控制板载 RGB 全彩灯效 ——从源码修改到飞书指令&#xff0c;手把手打造一个能“听懂颜色话”的嵌入式 AI 智能体 一、引言&#xff1a;当“养龙虾”热潮遇到嵌入式 AI 2026 年开春…...

可变形卷积(Deformable Convolution)原理与在YOLOv11中的集成

上周在产线测试YOLOv11的缺陷检测模型&#xff0c;遇到个头疼的问题&#xff1a;同一类金属件&#xff0c;因为冲压模具磨损导致边缘出现轻微形变&#xff0c;模型漏检率突然飙升。常规的卷积核是固定网格采样&#xff0c;对这类几何形变缺乏适应性。调了一整天数据增强&#x…...

利用快马平台快速原型:五分钟构建你的第一个multisim风格电路仿真器

最近在尝试电路设计时&#xff0c;发现从构思到实际验证往往需要花费大量时间搭建仿真环境。传统方式需要安装专业软件、配置参数&#xff0c;整个过程相当繁琐。直到尝试了InsCode(快马)平台&#xff0c;发现它特别适合用来做电路设计的快速原型验证。下面分享如何用五分钟构建…...

AGI能力边界与安全约束

AGI能力边界与安全约束&#x1f4dd; 本章学习目标&#xff1a;通过本章学习&#xff0c;你将全面掌握"AGI能力边界与安全约束"这一核心主题&#xff0c;建立系统性认知。一、引言&#xff1a;为什么这个话题如此重要 在人工智能快速发展的今天&#xff0c;AGI能力边…...

告别无效开荒:Path of Building PoE2如何让你的角色构建效率提升300%

告别无效开荒&#xff1a;Path of Building PoE2如何让你的角色构建效率提升300% 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 当你第10次洗点天赋树却依然打不过剧情BOSS&#xff0c;当你花费数小时研…...

7Semi_SCD4x轻量驱动:嵌入式CO₂传感器I²C通信与CRC校验实践

1. 7Semi_SCD4x 驱动库深度解析&#xff1a;面向嵌入式系统的轻量级 SCD40/SCD41 CO₂ 传感器驱动设计与工程实践1.1 项目定位与工程价值7Semi_SCD4x 是一个专为 Sensirion SCD40/SCD41 系列高精度 CO₂、温度与湿度三合一传感器设计的极简底层驱动库。其核心价值不在于功能堆砌…...