【数据分析 | Numpy】Numpy模块系列指南(一),从设计架构说起
🤵♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱🏍
🙋♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)
摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅
该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]
Numpy
Numpy 在数值运算上效率优于python内置的list, 所以熟练掌握是必要的。
Numpy主要分为两个核心部分,N维数组对象 Ndarry 和 通用函数对象 Ufunc, (一个数据结构,一个操作的算法)下面是关于NumPy库的各个常用模块
中文名称 | 英文名称 | 介绍 | 解决场景 |
---|---|---|---|
数组对象 | ndarray (N-dimensional array) | 多维数组对象,用于存储同类型的元素,支持矢量化操作和广播运算。 | 数值计算、线性代数、统计分析等 |
通用函数 | Universal Functions (ufunc) | 快速的元素级数组函数,对数组中的元素逐个进行操作,支持矢量化运算。 | 数值计算、数学运算、逻辑运算等 |
索引和切片 | Indexing and Slicing | 用于访问和修改数组中的元素,可以通过索引、切片和布尔掩码进行操作。 | 数据访问、数据修改、数据筛选等 |
广播 | Broadcasting | 对不同形状的数组进行自动的元素级运算,使得不同尺寸的数组可以进行计算。 | 处理形状不同的数组、矩阵运算等 |
线性代数 | Linear Algebra | 提供了线性代数运算的函数,如矩阵乘法、特征值分解、奇异值分解等。 | 线性代数计算、矩阵运算等 |
随机数 | Random Sampling (random) | 生成各种概率分布的随机数,包括均匀分布、正态分布、泊松分布等。 | 模拟实验、概率分析、随机抽样等 |
快速傅里叶变换 | Fast Fourier Transform (fft) | 提供了快速傅里叶变换算法,用于信号处理、图像处理和频谱分析等。 | 信号处理、频谱分析、图像处理等 |
文件输入输出 | File Input/Output (IO) | 读取和写入数组数据到磁盘文件,支持多种数据格式,如文本文件、二进制文件等。 | 数据存储、数据读取、数据导出等 |
结构化数组 | Structured Arrays | 创建和操作具有复合数据类型(结构体)的数组,可以指定字段名称和数据类型。 | 处理结构化数据、数据库操作等 |
掩码数组 | Masked Arrays | 在数组中使用掩码标记无效或缺失的数据,进行计算时可以自动忽略掩码元素。 | 缺失数据处理、数据过滤等 |
Ndarray
数组属性
当谈论NumPy数组的属性时,我们通常指的是数组对象本身的一些特征和元数据。下面是一些常见的NumPy数组属性及其说明,我将以Markdown表格的形式呈现给你。
名称 | 说明 |
---|---|
shape | 数组的维度,表示每个维度的大小。例如,(3, 4) 表示一个二维数组,有3行和4列。 |
dtype | 数组元素的数据类型,例如int64 、float32 、bool 等。 |
ndim | 数组的维度数量,也称为数组的秩。例如,二维数组的ndim为2。 |
size | 数组中元素的总数,等于各个维度大小的乘积。 |
itemsize | 数组中每个元素的字节大小。例如,int64 类型的元素占8个字节。 |
nbytes | 数组中所有元素的总字节数,等于itemsize * size 。 |
real | 复数数组的实部。对于实数数组,返回数组本身。 |
imag | 复数数组的虚部。对于实数数组,返回全零数组。 |
flat | 返回一个迭代器,用于以扁平化方式迭代数组中的元素。 |
strides | 表示在每个维度上需要移动多少字节来获取下一个元素。 |
data | 数组的缓冲区,包含数组的实际元素。 |
创建数组
当使用NumPy库处理数据时,有多种方法可以创建数组。下面是一些常用的方法,并以Markdown表格的形式列出它们的名称和说明:
名称 | 说明 |
---|---|
numpy.array() | 从列表、元组或其他数组对象创建一个NumPy数组。 |
numpy.zeros() | 创建一个指定形状的全零数组。 |
numpy.ones() | 创建一个指定形状的全1数组。 |
numpy.empty() | 创建一个指定形状的空数组,数组元素的值是未初始化的。 |
numpy.arange() | 根据指定的开始值、结束值和步长创建一个一维数组。 |
numpy.linspace() | 在指定的开始值和结束值之间创建一个一维数组,可以指定数组的长度。 |
numpy.logspace() | 在指定的开始值和结束值之间以对数刻度创建一个一维数组。 |
numpy.eye() | 创建一个具有对角线为1的二维数组,其他位置为0。 |
import numpy as np# numpy.array()
arr = np.array([1, 2, 3]) # 参数: 输入的列表、元组或其他数组对象# numpy.zeros()
zeros_arr = np.zeros((3, 3)) # 参数: 形状# numpy.ones()
ones_arr = np.ones((2, 2)) # 参数: 形状# numpy.empty()
empty_arr = np.empty((2, 2)) # 参数: 形状# numpy.arange()
arange_arr = np.arange(0, 10, 2) # 参数: 开始值、结束值、步长# numpy.linspace()
linspace_arr = np.linspace(0, 1, 5) # 参数: 开始值、结束值、数组长度# numpy.logspace()
logspace_arr = np.logspace(0, 3, 4) # 参数: 开始指数、结束指数、数组长度# numpy.eye()
eye_arr = np.eye(3) # 参数: 数组的大小# numpy.random.rand()
rand_arr = np.random.rand(3, 3) # 参数: 形状# numpy.random.randn()
randn_arr = np.random.randn(2, 2) # 参数: 形状# numpy.random.randint()
randint_arr = np.random.randint(0, 10, (2, 2)) # 参数: 最小值、最大值、形状# numpy.full()
full_arr = np.full((2, 2), 7) # 参数: 形状、填充值# numpy.tile()
tile_arr = np.tile([1, 2], 3) # 参数: 数组、重复次数# numpy.repeat()
repeat_arr = np.repeat([1, 2, 3], 3) # 参数: 数组、重复次数
🤞到这里,如果还有什么疑问🤞🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
相关文章:

【数据分析 | Numpy】Numpy模块系列指南(一),从设计架构说起
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

多人聊天室
多人聊天包 由于要先创建服务面板,接收客户端连接的信息,此代码使用顺序为先启动服务端,在启动客户端,服务端不用关,不然会报错。多运行几次客户端,实现单人聊天 1.创建服务面板 package yiduiy;import j…...

智慧园区可视化综合管理平台建设方案,智能化、数字化才是关键
园区作为城市的基本单元,是经济发展的重要载体。随着我国经济的快速发展,各类工业园区、办公园区等园区的规划建设也越来越多。伴随着互联网新兴技术的发展和应用,智慧园区已成为当今城市规划和社会发展的关注焦点,今天我们来介绍…...

kepler.gl部署在线说明文档
1 概述 1.1 介绍 1、Kepler.gl 是一个强大的开源地理空间分析工具,用于大规模数据集的可视化。它由 Uber 的数据可视化团队开发,并且是基于 Web 技术构建的。Kepler.gl 涉及到以下几个主要技术领域: WebGL: Kepler.gl 通过 WebGL 进行渲染…...

Java程序员,你掌握了多线程吗?
文章目录 01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程写作末尾 摘要:互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流…...
Android 11.0 长按按键切换SIM卡默认移动数据
Android 11.0 长按按键切换SIM卡默认移动数据 近来收到客户需求想要通过长按按键实现切换SIM卡默认移动数据的功能,该功能主要通过长按按键发送广播来实现,具体修改参照如下: 首先创建广播,具体修改参照如下: /vend…...

Kafka集群调优+能力探底
一、前言 我们需要对4个规格的kafka能力进行探底,即其可以承载的最大吞吐;4个规格对应的单节点的配置如下: 标准版: 2C4G 铂金版: 4C8G 专业版: 8C16G 企业版: 16C32G 另外,一般…...

netcore swagger 错误 Failed to load API definition
后端接口报错如下: 前端nswag报错如下: 根据网上查询到的资料说明,说一般swagger这种错误都是控制器里有接口代码异常造成的,通常是接口没有加属性Attribute, 比如[HttpPost("Delete")]、[HttpGet("Del…...
UDP Socket API 的讲解,以及回显服务器客户端的实现
文章目录 UDPDatagramSocktet APIDatagramPacket API UDP 客户端服务器实现 UDP 先来认识一下 UDP 的 socket api,两个核心的类:DatagramSocket、DatagramPacket. DatagramSocktet API 是一个 socket 对象。 什么是 socket? 操作系统&…...

数据结构与算法-D7栈实现及应用
顺序栈 具有顺序表同样的存储结构,由数组定义,配合用数组下标表示的栈顶指针top完成操作 sqstack.h stack_creat stack_push stack_empty stack_full 1、判断栈是否为空 2、top--,取:data[top1] stack_top stack_clear stack_fre…...

蓝桥杯真题:分巧克力(二分法)-Java版
由题目可知,该题的最终结果具有单调性,边长越大,可分蛋糕越少 可以用二分模板的向右找: 整数二分 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main {static int n,k; //n个块蛋糕,k个学生static int N 10…...

c++面试题
1.static的使用 1)修饰局部变量:在函数内部使用static修饰局部变量,会使它成为静态局部变量。静态局部变量只会被初始化一次,且只有在第一次调用该函数时才会被初始化,之后每次调用该函数时都会保留上一次的值.从原来…...

高精度加法,减法,乘法,除法(上)(C语言)
前言 加,减,乘,除这些运算我们自然信手捏来,就拿加法来说,我们要用c语言编程算ab的和,只需让sum ab即可,可是这是局限的,我们都知道int的表示的最大值为2147483647(32位…...

C++新经典模板与泛型编程:SFINAE特性的信息萃取
用成员函数重载实现is_default_constructible 首先介绍一个C标准库提供的可变参类模板std::is_default_constructible。这个类模板的主要功能是判断一个类的对象是否能被默认构造(所谓默认构造,就是构造一个类对象时,不需要给该类的构造函数…...

java单人聊天
服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…...
nodejs环境安装
node安装 wget https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.8.0/node-v20.8.0-linux-x64.tar.gz tar xf node-v20.8.0-linux-x64.tar.xz -C /usr/local/ ln -s node-v20.8.0-linux-x64 nodevim /etc/profile.d/node.sh export PATH$PATH:/usr/local/node/binnp…...
R语言进行正态分布检验
查了很多资料,还是比较模糊 Kolmogorov-Smirnov检验(K-S检验)广泛用于正态性检验和其他分布的拟合检验。适用于中等到大样本。 Lilliefors检验是K-S检验的一种变体,专门为小样本设计。其通过使用更准确的临界值来提高对小样本的适…...

什么是SPA(Single Page Application)?它的优点和缺点是什么?
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

由于找不到xinput1_3.dll,无法继续执行代码的多种解决方法指南,xinput1_3.dll文件修复
当玩家或用户在启动某些游戏和应用程序时,可能会遭遇到一个系统错误提示:“由于找不到xinput1_3.dll,无法继续执行代码l”。这种情况通常指出系统中DirectX组件存在问题。以下我们将介绍几种常用的解决方法,并提供详细的操作步骤。 一.找不到…...

Vue---Echarts
项目需要用echarts来做数据展示,现记录vue3引入并使用echarts的过程。 1. 使用步骤 安装 ECharts:使用 npm 或 yarn 等包管理工具安装 ECharts。 npm install echarts 在 Vue 组件中引入 ECharts:在需要使用图表的 Vue 组件中,引入…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...