NumPy 2.x 完全指南【十六】分割数组
文章目录
- 1. 数组分割
- 1.1 split
- 1.2 array_split
- 1.3 vsplit
- 1.4 hsplit
- 1.5 dsplit
- 1.6 unstack
1. 数组分割
数组分割是指将一个数组拆分为多个子数组的操作,常用于数据处理、并行计算、分块处理等场景。NumPy
提供了多种分割函数,允许用户沿不同方向(轴)按需分割数组:
函数/方法 | 描述 | 分割方向 | 返回类型 |
---|---|---|---|
split(ary, indices_or_sections[, axis]) | 将数组均等分割为多个子数组(视图,直接引用原数组数据)。 | 用户指定轴(默认轴0) | 视图 |
array_split(ary, indices_or_sections[, axis]) | 将数组分割为多个子数组(允许不均等分割)。 | 用户指定轴(默认轴0) | 副本 |
dsplit(ary, indices_or_sections) | 沿第三轴(深度方向)分割数组。 | 固定轴2(第三轴) | 视图 |
hsplit(ary, indices_or_sections) | 水平分割数组(按列方向)。 | 固定轴1(列方向) | 视图 |
vsplit(ary, indices_or_sections) | 垂直分割数组(按行方向)。 | 固定轴0(行方向) | 视图 |
unstack(x, axis) | 沿指定轴将数组拆分为一系列子数组(每段长度为1)。 | 用户指定轴 | 副本 |
1.1 split
numpy.split()
:将数组沿指定轴分割为多个子数组。
函数定义:
def split(ary, indices_or_sections, axis=0)
参数说明:
ary
:待分割的输入数组。indices_or_sections
:分割方式(均分或按索引)。axis
:分割轴,默认 0。
示例 1 ,indices_or_sections
为整数时,表示均等分割,即均匀分成多少个:
x = np.arange(9.0) # [0.0, 1.0, ..., 8.0]
sub_arrays = np.split(x, 3)
print(len(sub_arrays)) # 3
print(sub_arrays[0]) # [0. 1. 2.]
print(sub_arrays)
# [array([0., 1., 2.]), array([3., 4., 5.]), array([6., 7., 8.])]
示例 2 ,若无法均分会报错:
# ValueError: array split does not result in an equal division
# sub_arrays = np.split(x, 2)
示例 3 ,indices_or_sections
为数组时,表示按索引分割:
x = np.arange(8.0) # [0.0, 1.0, ..., 7.0]
sub_arrays = np.split(x, [3, 5, 6, 10])
print(sub_arrays)
# 输出:
# [
# array([0., 1., 2.]), # 0~3(不含3)
# array([3., 4.]), # 3~5(不含5)
# array([5.]), # 5~6(不含6)
# array([6., 7.]), # 6~10(超出部分截断到数组末尾)
# array([], dtype=float64) # 10之后无数据,返回空数组
# ]
示例 4 ,分割二维数组时,默认沿行方向(axis=0
)分割:
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9],[10, 11, 12]])# 沿行方向均分 2 段
sub_arrays = np.split(arr, 2)
print(sub_arrays)
# [
# array([[1, 2, 3], [4, 5, 6]]), # 前两行
# array([[7, 8, 9], [10, 11, 12]]) # 后两行
# ]
示例 5 ,沿列方向分割二维数组:
# 沿列方向均分 3 段
sub_arrays = np.split(arr, 3, axis=1)
print(sub_arrays)
# [array([[ 1],
# [ 4],
# [ 7],
# [10]]),
#
# array([[ 2],
# [ 5],
# [ 8],
# [11]]),
#
# array([[ 3],
# [ 6],
# [ 9],
# [12]])]
示例 6 ,沿深度方向分割三维数组:
arr = np.arange(24).reshape(4, 3, 2)
print(arr)
# [[[ 0 1]
# [ 2 3]
# [ 4 5]]
#
# [[ 6 7]
# [ 8 9]
# [10 11]]
#
# [[12 13]
# [14 15]
# [16 17]]
#
# [[18 19]
# [20 21]
# [22 23]]]
# 0 轴均分两段:
sub_arrays = np.split(arr, 2, axis=0)
print(sub_arrays)
# [array([[[ 0, 1],
# [ 2, 3],
# [ 4, 5]],
#
# [[ 6, 7],
# [ 8, 9],
# [10, 11]]]),
#
# array([[[12, 13],
# [14, 15],
# [16, 17]],
#
# [[18, 19],
# [20, 21],
# [22, 23]]])]
示例 7 ,按索引分割三维数组:
# 在深度方向按索引 [1, 3] 分割
sub_arrays = np.split(arr, [1, 3], axis=0)
print(sub_arrays)
# [array([[[0, 1],
# [2, 3],
# [4, 5]]]), array([[[ 6, 7],
# [ 8, 9],
# [10, 11]],
#
# [[12, 13],
# [14, 15],
# [16, 17]]]), array([[[18, 19],
# [20, 21],
# [22, 23]]])]
1.2 array_split
numpy.array_split()
:将数组沿指定轴分割为多个子数组,允许不均等分割。
函数定义:
def array_split(ary, indices_or_sections, axis=0)
参数说明:
ary
:待分割的输入数组。indices_or_sections
:分割方式(均分或按索引)。若为整数n
,将数组分割为n
个子数组;若为索引数组,按指定位置分割。axis
:分割轴,默认 0。
即使无法均分,仍返回尽可能均匀的子数组列表。若数组沿分割轴的长度为 l
,分割为 n
个子数组时:
- 前
l % n
个子数组的长度为l // n + 1
。 - 剩余子数组的长度为
l // n
。
示例 1 ,split
函数无法均分会报错时,可以使用 array_split
进行不均匀分割:
x = np.arange(9.0) # [0.0, 1.0, ..., 8.0]
ub_arrays = np.array_split(x, 2)
print(ub_arrays)
# [array([0., 1., 2., 3., 4.]), array([5., 6., 7., 8.])]
分割逻辑:
- 总长度
l = 9
,分割数n = 2
。 l // n = 4
,余数l % n = 1
。- 第一个子数组长度:
4 + 1 = 5
。 - 最后一个子数组长度:
4
。
示例 2 ,沿行方向分割二维数组:
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9],[10, 11, 12]])# 分割为 3 个子数组(行数 4 无法均分)
sub_arrays = np.array_split(arr, 3, axis=0)
print(sub_arrays)
# [array([[1, 2, 3],
# [4, 5, 6]]),
#
# array([[7, 8, 9]]),
#
# array([[10, 11, 12]])]
示例 3 ,沿列方向分割二维数组:
# 分割为 2 个子数组(列数 3 无法均分)
sub_arrays = np.array_split(arr, 2, axis=1)
print(sub_arrays)
# [array([[ 1, 2],
# [ 4, 5],
# [ 7, 8],
# [10, 11]]),
#
# array([[ 3],
# [ 6],
# [ 9],
# [12]])]
1.3 vsplit
numpy.vsplit()
: 垂直(按行)分割数组。即沿第一个轴分割数组,等效于 np.split(..., axis=0)
。
函数定义:
def vsplit(ary, indices_or_sections)
参数说明:
ary
:待分割的输入数组。indices_or_sections
:分割方式(均分或按索引)。若为整数n
,将数组分割为n
个子数组;若为索引数组,按指定位置分割。
示例 1 ,均等分割二维数组:
x = np.arange(16.0).reshape(4, 4)
sub_arrays = np.vsplit(x, 2)
print(sub_arrays)
# [array([[0., 1., 2., 3.],
# [4., 5., 6., 7.]]),
#
# array([[ 8., 9., 10., 11.],
# [12., 13., 14., 15.]])]
示例 2 ,均等分割三维数组:
x = np.arange(8.0).reshape(2, 2, 2)
sub_arrays = np.vsplit(x, 2)
print(sub_arrays)
# [array([[[0., 1.],
# [2., 3.]]]),
#
# array([[[4., 5.],
# [6., 7.]]])]
1.4 hsplit
numpy.hsplit()
:水平(按列)分割数组。即沿第二个轴分割数组,等效于 np.split(..., axis=1)
。
函数定义:
def hsplit(ary, indices_or_sections)
参数说明:
ary
:待分割的输入数组。indices_or_sections
:分割方式(均分或按索引)。若为整数n
,将数组分割为n
个子数组;若为索引数组,按指定位置分割。
示例 1 ,均等分割二维数组:
x = np.arange(16.0).reshape(4, 4)
print(x)
# [[ 0. 1. 2. 3.]
# [ 4. 5. 6. 7.]
# [ 8. 9. 10. 11.]
# [12. 13. 14. 15.]]
sub_arrays = np.hsplit(x, 2)
print(sub_arrays)
# [array([[ 0., 1.],
# [ 4., 5.],
# [ 8., 9.],
# [12., 13.]]),
#
# array([[ 2., 3.],
# [ 6., 7.],
# [10., 11.],
# [14., 15.]])]
示例 2 ,均等分割三维数组:
x = np.arange(8.0).reshape(2, 2, 2)
print(x)
# [[[0. 1.]
# [2. 3.]]
#
# [[4. 5.]
# [6. 7.]]]
sub_arrays = np.hsplit(x, 2)
print(sub_arrays)
# [array([[[0., 1.]],
# [[4., 5.]]]),
#
# array([[[2., 3.]],
# [[6., 7.]]])]
1.5 dsplit
numpy.dsplit()
:深度方向分割数组。即沿第三个轴分割数组,等效于 np.split(..., axis=2)
。
函数定义:
def dsplit(ary, indices_or_sections)
注意事项:
- 要求输入数组的维度至少为
3
。
示例 1 ,均等分割三维数组:
x = np.arange(16.0).reshape(2, 2, 4)
result = np.dsplit(x, 2)# 输出子数组形状:
print([sub.shape for sub in result]) # [(2, 2, 2), (2, 2, 2)]
示例 2 ,输入数组维度不足时会报错:
arr_2d = np.array([[1, 2], [3, 4]]) # 二维数组(形状 2x2)
np.dsplit(arr_2d, 2) # ValueError: dsplit only works on arrays of 3 or more dimensions
1.6 unstack
numpy.unstack()
:将数组沿指定轴拆分为一系列子数组的元组。
函数定义:
def unstack(x, /, *, axis=0):
参数说明:
x
:ndarray 输入的多维数组。axis
:拆分的轴方向(默认0
,即第一个维度),支持负数(如-1
表示末轴)。
注意事项:
- 包含拆分后子数组的元组,每个子数组的维度比原数组少一维。
- 是
numpy.stack
的逆操作,满足stack(unstack(x, axis), axis) == x
。
假设原数组形状为 (d0, d1, ..., dn)
,沿轴 k
拆分:
- 将轴
k
移动到第一个位置,形状变为(dk, d0, d1, ..., dn-1)
(去除原轴k
)。 - 按第一个维度(长度
dk
)拆分为dk
个子数组,每个子数组形状为(d0, d1, ..., dn-1)
。
示例 1 ,沿不同轴分割三维数组:
# 三维数组 (2, 3, 4)
arr = np.arange(24).reshape((2, 3, 4))
# O 轴分割
unstacked = np.unstack(arr)
print(unstacked) # 2 个 (3, 4) 的二维数组
# (array([[ 0, 1, 2, 3],
# [ 4, 5, 6, 7],
# [ 8, 9, 10, 11]]),
#
# array([[12, 13, 14, 15],
# [16, 17, 18, 19],
# [20, 21, 22, 23]]))
unstacked = np.unstack(arr, axis=1)
print(unstacked) # 2 个 (3, 4) 的二维数组
# (array([[ 0, 1, 2, 3],
# [12, 13, 14, 15]]),
#
# array([[ 4, 5, 6, 7],
# [16, 17, 18, 19]]),
#
# array([[ 8, 9, 10, 11],
# [20, 21, 22, 23]]))
相关文章:
NumPy 2.x 完全指南【十六】分割数组
文章目录 1. 数组分割1.1 split1.2 array_split1.3 vsplit1.4 hsplit1.5 dsplit1.6 unstack 1. 数组分割 数组分割是指将一个数组拆分为多个子数组的操作,常用于数据处理、并行计算、分块处理等场景。NumPy 提供了多种分割函数,允许用户沿不同方向&…...
vue3 + vite 使用tailwindcss
第一步:安装依赖 vite版本较低(“vite”: “^4.0.0”)所以就使用低版本的tailwindcss npm install -D tailwindcss3.4.1 postcss autoprefixer第二步:配置文件生成 npx tailwindcss init -p会自动生成两个文件postcss.config.js和…...
K个一组链表翻转
目录 1. 题意 2. 解题思路 3. 代码 1. 题意 给一个链表,按 k 进行翻转,也就是 k 2 ,两两进行翻转,如果不够2则不动。 2. 解题思路 首先思考怎么翻转一个链表,反转链表:https://leetcode.cn/problems…...
逆向音乐APP:Python爬虫获取音乐榜单 (1)
1. 引言 在数字音乐时代,许多平台如音乐有榜单,限制非付费用户访问高音质或独家内容。然而,从技术研究的角度来看,我们可以通过逆向工程和Python爬虫技术解音乐的API接口,获取付费音乐的播放链接。 2. 技术准备 在当…...
STM32之串口通信WIFI上云
一、W模块的原理与应用 基本概念 如果打算让硬件设备可以通过云服务器进行通信(数据上报/指令下发),像主流的云服务器有阿里云、腾讯云、华为云,以及其他物联网云平台:巴法云.......,硬件设备需要通过TCP…...
Python爬虫实战:获取天气网最近一周北京的天气数据,为日常出行做参考
1. 引言 随着互联网技术的发展,气象数据的获取与分析已成为智慧城市建设的重要组成部分。天气网作为权威的气象信息发布平台,其数据具有较高的准确性和实时性。然而,人工获取和分析天气数据效率低下,无法满足用户对精细化、个性化气象服务的需求。本文设计并实现了一套完整…...
【Java学习笔记】main方法
main 方法 一、深入理解 main 方法 特变注意!! 1. 在main()方法中,我们可以直接调用 mian 方法所在类的静态方法或静态属性 2. 不能访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中…...
振动分析 - 献个宝
1.一个自制的振动能量分析工具 这个分析工具似乎真的定位到了故障的具体位置。 1.1对一组实验室虚拟信号的分析结果: 1.2 对现场真实数据的分析结果 依照边频带的调制,和边频的缝隙宽度,基本定位到问题。 追加几份待看的文档: 齿轮结构的频谱特征 - 知乎使用 FFT 获得…...
数学实验(Matlab绘图基础)
一、二维曲线的绘制 Matlab绘图原理 MATLAB绘图的核心原理基于数据点或函数离散化,通过描点连线生成图形。以下是具体解析: 1.数据离散化 二维数据通过(x, y)坐标点表示,连续函数需离散化处理(如t0:0.01…...
【android bluetooth 协议分析 02】【bluetooth hal 层详解 3】【高通蓝牙hal主要流程介绍-上】
1. 背景 本节主要讨论 高通 蓝牙 hal 中,的一些流程。 看看你是否都清楚如下问题: 高通芯片电如何控制?串口是在哪里控制的?固件如何下载?初始化流程是怎么样的? 如果你已经对上述讨论的问题,…...
Linux | tmux | 无法复制粘贴
问题:在Linux中使用tmux时,总是没法使用复制粘贴功能; 解决: 如果希望直接用鼠标选择并复制(类似普通终端),可以: 在 ~/.tmux.conf 中添加:sh set -g mouse on;重新加载 tmux 配置…...
如何通过小贝加速实现精准网络故障排查
在日常使用电脑的过程中,我们常常需要监控系统运行状态、优化性能或排查网络问题。最近发现一款名为小贝加速的桌面工具,在此分享关于小贝加速如何实现网络监控。 系统优化 该工具提供了简洁明了的系统优化功能。通过扫描可以清理系统冗余文件、释放内存…...
Nginx 网站服务
目录 一:基于授权的访问控制 1:基于授权的访问控制简介 2:基于授权的访问控制步骤 二:基于客户端的访问控制 1:基于客户端的访问控制简介 2:基于客户端的访问控制步骤 三:Nginx 虚拟主机…...
Python 字典的用法和技巧
字典的创建与初始化 Python 字典是一种可变容器模型,可存储任意类型对象。字典的每个键值对用冒号分隔,键值对之间用逗号分隔,整个字典包括在花括号中。 # 创建一个空字典 empty_dict {}# 创建一个包含键值对的字典 my_dict {name: Alice…...
电力设备制造企业数字化转型路径研究:从生产优化到生态重构
电力设备制造业作为支撑能源革命的核心领域,其数字化转型不仅关乎企业降本增效,更是实现“双碳”目标与新型电力系统建设的关键抓手。本文基于行业标杆案例与实践经验,系统梳理电力设备企业数字化转型的五大核心路径。 一、生产流程智能化&a…...
初识GPU加速:如何利用GPU提升AI训练效率
随着人工智能(AI)和深度学习技术的快速发展,训练深度神经网络(DNN)已经变得越来越复杂和计算密集。传统的CPU已经无法满足大量计算任务的需求,因此,GPU(图形处理单元)成为了训练深度学习模型时的必备工具。本篇文章将介绍如何利用GPU加速AI训练效率,以及在使用GPU时应…...
深入解析异步编程:Java NIO、Python `async/await` 与 C# `async/await` 的对比
在现代编程中,异步编程已成为处理 I/O 密集型任务(如网络请求、文件操作等)的高效方式。不同的编程语言提供了各自的异步编程模型,以提高程序的性能和资源利用率。本文将深入解析 Java 的 NIO、Python 的 async/await 和 C# 的 as…...
阿里云数据盘级别
数据盘PL0、PL1、PL2和PL3的区别体现在性能、容量范围以及应用场景等方面。具体分析如下: 性能 PL0:单盘最大IOPS为10,000,最大吞吐量为180MB/s。适用于中小型MySQL和SQLServer等数据库场景,中小规模ELK日志集群,SAP和…...
使用 Spring AI Alibaba 集成阿里云百炼大模型应用
随着人工智能技术的飞速发展,大模型在各个领域的应用越来越广泛。阿里云百炼大模型提供了强大的语言理解和生成能力,但如何将其高效地集成到实际应用中,一直是开发者关注的焦点。本文将详细介绍如何使用 Spring AI Alibaba 集成阿里云百炼大模…...
阿里云合集(不定期更新)
一、阿里云申请免费域名证书流程:https://blog.csdn.net/humors221/article/details/143266059 二、阿里云发送国内短信怎样编程:https://blog.csdn.net/humors221/article/details/139544193 三、阿里云ECS服务器磁盘空间不足的几个文件:h…...
零基础设计模式——创建型模式 - 抽象工厂模式
第二部分:创建型模式 - 抽象工厂模式 (Abstract Factory Pattern) 我们已经学习了单例模式(保证唯一实例)和工厂方法模式(延迟创建到子类)。现在,我们来探讨创建型模式中更为复杂和强大的一个——抽象工厂…...
ConcurrentHashMap导致的死锁事故
事故现象 某线上服务共100台容器,第二天上午流量高峰期部分容器(约10%)cpu飙升,升至100%。 部分堆栈信息 堆栈信息如下如所示: 当前线程堆栈显示在JsonContext.get方法中调用computeIfAbsent,其Lambda表…...
Python高效网络爬虫开发指南
Python 网络爬虫入门与实战 一、引言 随着互联网数据的爆炸性增长,获取和分析这些数据变得越来越重要。网络爬虫作为数据采集的重要工具,在这其中扮演了不可或缺的角色。 二、环境搭建 首先我们需要安装Python环境以及一些必要的库: req…...
关于C++使用位运算交换变量值的分析
1、使用临时变量交换 交换变量的值,最常见的方法就是用临时变量。 void swap1(int& a, int& b){int c a;a b;b c; }清晰明了。 2、位运算版 对于整数类型,相信很多人都见过下面方法,可以使用位运算,从而不借用临时…...
06 接口自动化-框架封装思想建立之httprunner框架(下)
文章目录 一、httprunner如何实现数据驱动第一种:直接在脚本里面指定参数列表,最简单。适合于参数比较少的情况。第二种:使用CSV文件,适合于参数比较大的情况。第三种方式:使用函数生成数据,适用于数据变化…...
Dirsearch 深度使用教程:从基础扫描到携带 Cookie 探索网站
在网络安全测试和网站信息收集过程中,Dirsearch 是一款强大的开源工具,能够快速扫描网站,找出潜在的目录和文件。而当面对需要登录才能访问的网站资源时,通过携带 Cookie 扫描,Dirsearch 可以模拟已登录状态࿰…...
垃圾回收(GC)基础原理全面解析
掌握 GC 原理,是高效 Java 开发的第一步! 前言 垃圾回收(Garbage Collection,简称 GC)是 Java 的核心优势之一,它让开发者无需手动管理内存,极大降低了内存泄露和悬挂指针的风险。但当应用进入高并发、大数据量的场景时,GC 机制本身反而会成为性能瓶颈。 理解 GC 的原…...
海康NVR录像回放SDK原始流转FLV视频流:基于Java的流媒体转码(无需安装第三方插件ffmpeg)
wlinker-video-monitor 代码地址:https://gitee.com/wlinker/wlinker-video-monitor 背景与需求 在安防监控、智能楼宇等场景中,海康威视设备作为行业主流硬件,常需要将录像回放功能集成到Web系统中。然而,海康设备的原始视频流…...
【项目】SpringBoot +MybatisPlus集成多数据源
引言 应项目需求,需要引入另外的Mysql数据库,但是项目已经引入一个Mysql,这时有几种方案 通过Dynamic-DataSource 框架,无缝集成 但是是动态切换数据源的,跟项目需求不符合,于是采取第二种通过自定义数据…...
Suricata 3规则介绍、以及使用
列出更新源列表(有好多个规则源,后面有介绍的) suricata-update list-sourcesName: sslbl/ja3-fingerprintsVendor: Abuse.chSummary: Abuse.ch Suricata JA3 Fingerprint RulesetLicense: CC0-1.0 Name: malsilo/win-malwareVendor: malsil…...
基于OpenCV的物体跟踪:CSRT算法
文章目录 引言一、系统概述二、CSRT算法简介三、核心代码解析1. 初始化跟踪器和摄像头2. 主循环结构3. 目标选择与跟踪初始化4. 目标跟踪与结果显示5. 资源释放 四、系统使用说明五、完整代码六、总结 引言 目标跟踪是计算机视觉领域的重要应用之一,广泛应用于视频…...
面向未来,遨游推出5G-A智能防爆对讲机等系列终端
从5G扬帆到5G-A启航,遨游通讯始终立于技术潮头。在通信技术加速向5G-A演进的关键节点,遨游通讯旗舰产品AORO M6 Pro智能防爆对讲机,不仅实现了芯片到系统架构的全面自主可控,更通过5G-A技术的高速率、低时延、广连接与通感一体能力…...
qt浏览文件支持惯性
#include <QApplication> #include <QListWidget> #include <QScroller> #include <QScrollerProperties>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建列表控件并添加示例项QListWidget listWidget;for (int i 0; i <…...
算子窗口操作
抠图 (提取图像感兴趣的区域) * 使用halcon 抠图* 窗体属性设设置: 设置窗体绘制图案的模式 magrin边框模式(只有一个边框) * fill填充模式(边框内部会有一个遮罩层) dev_set_draw (fill)* 设置颜色 dev_set_color (green) * 设置线宽dev_set_line_width (5)read_image (Im…...
如何提灯验车
✅ 重点 车标倾斜特别严重 导航定位不准 发动机顿挫异响 自动门把手关闭时异响 底盘有划痕和主驾位与扶手箱位置间隙过小磨损 蓝牙钥匙解锁异常,开关解锁不灵敏 空调无法制冷 灯罩有划痕 开启大灯就有嗡嗡嗡的异响 ✅ 一、文件与证件检…...
人工智能在生物医学研究中的创新应用
随着人工智能(AI)技术的飞速发展,其在生物医学领域的应用逐渐成为研究热点。AI不仅为生物医学研究提供了强大的工具,还在疾病诊断、药物研发、基因编辑等方面展现出巨大的潜力。本文将探讨人工智能在生物医学研究中的创新应用&…...
迁移学习实战:用预训练模型解决小样本图像分类
🚀 迁移学习实战:用预训练模型解决小样本图像分类(PyTorch实现) 当我们没有成千上万的训练样本时,如何训练一个表现良好的图像分类模型?答案是——迁移学习。本篇将带你用 PyTorch 快速上手迁移学习,用预训练模型(如 ResNet18)解决小样本分类问题。 🧠 一、什么是迁…...
html,js获取扫码设备的输入内容
<script type"text/javascript"><!-- window.onload function () {// 获取扫描的二维码内容 var code ""; var lastTime, nextTime; var lastCode, nextCode; document.onkeypress function (e) { nextCode e.which; ne…...
项目执行中缺乏风险管理,如何预防潜在问题?
要预防潜在问题,必须在项目执行中融入建立全面的风险识别机制、制定应对策略、实施动态监控、强化团队风险意识、定期评估与复盘。其中,建立全面的风险识别机制至关重要。项目初期若未进行系统性的风险识别,就很难在项目过程中及时应对变化&a…...
树形展示三级分类数据
vue3 实现多级分类_产品设计 平台端添加多个二级三级分类的页面-CSDN博客...
大模型如何助力数学可视化?
大家好,我是 i 学习的老章 在数学学习和教学中,将抽象概念可视化对于理解至关重要。Manim 是一个强大的数学动画引擎,由著名数学科普视频作者 3Blue1Brown 开发并广为人知。 老章较早之前就介绍过 manim:B 站上爆红的数学视频&a…...
什么是endpoints?
在 Kubernetes 中,Endpoints 是一个资源对象,它表示服务(Service)到 Pod 的网络连接。 Endpoints 的主要作用是将服务的虚拟 IP 地址映射到实际的 Pod IP 地址,从而实现服务发现和负载均衡。 1.Endpoints 的作用 服务…...
基于 Redis 实现短信验证码登录功能的完整方案
🧱 一、技术栈与依赖配置 使用 Spring Boot Redis 实现短信验证码登录,以下是推荐的 Maven 依赖: <dependencies><!-- Spring Boot Web --><dependency><groupId>org.springframework.boot</groupId><ar…...
监控易一体化运维:拥有全部核心技术,助力国产化信创运维
在数字化转型浪潮与信创产业蓬勃发展的当下,企业对运维系统的要求愈发严苛。随着数字化领域的巨大变迁,一款强大且适配信创环境的运维系统对企业的重要性不言而喻。今天,让我们一同深度剖析监控易系统在信创领域展现出的卓越优势。 信创产业&…...
微 PE , USM 魔术师两款 PE 对比
微 PE 和 USM 魔术师两款 PE 各有特点: 纯净度 微 PE:没有植入强制性、商业性软件和链接,也没有病毒和木马,非常纯净。USM 魔术师:同样无广告、无流氓、无捆绑、无后门,从官方途径下载能保证纯净度。 功能…...
测试模版1
本篇技术博文摘要 🌟 引言 📘 在这个变幻莫测、快速发展的技术时代,与时俱进是每个IT工程师的必修课。我是盛透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员&a…...
elementUI 中el-date-picker和el-select的样式调整
1. el-date-picker <el-date-picker class"select1" size"small" v-model"timeRangeArr" type"daterange" align"right" unlink-panels range-separator"至" start-placeholder"开始日期" end-pla…...
基于亚马逊云科技构建音视频直播审核方案
1. 前言 随着互联网内容形态的多样化发展,用户生成内容(UGC)呈现爆发式增长。社交平台、直播、短视频、语聊房等应用场景中,海量的音视频内容需要进行实时审核,以维护平台安全与用户体验。 然而,企业在构…...
Vue3 组件之间传值
在 Vue3 中,组件之间的数据传递主要有以下几种方式,适用于不同的场景: 一、父组件向子组件传值:props 1. 子组件定义 props <!-- ChildComponent.vue --> <script setup> // 组合式 API(推荐)…...
深入理解用于中断控制的 NVIC 寄存器
NVIC 中有多个用于中断控制的寄存器(异常类型 16~255),这些寄存器位于系统控制空间(SCS)地址区域。下表是这些寄存器的概览: 除了软件触发寄存器(STIR)外,所有这些寄存器…...