【数据分析 | Numpy】Numpy模块系列指南(一),从设计架构说起

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (一)
作者: 计算机魔术师
版本: 1.0 ( 2023.8.27 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

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数组元素的数据类型,例如int64float32bool等。
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)  # 参数: 数组、重复次数

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【redis缓存设计】

文章目录 缓存设计缓存穿透 缓存雪崩 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储 层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储…

动态规划--整数拆分

题目描述 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 36 解释…

第十八章,Swing窗体

概述 String包的层次结构和继承关系如下 常用的Swing组件如下表 Swing常用窗体 JFrame 窗体 JFrame 类的常用构造方法包括以下两种形式: public JFrame():创建一个初始不可见、没有标题的窗体。 public JFrame(String title)&a…

Clickhouse Join

ClickHouse中的Hash Join, Parallel Hash Join, Grace Hash Join https://www.cnblogs.com/abclife/p/17579883.html https://clickhouse.com/blog/clickhouse-fully-supports-joins-full-sort-partial-merge-part3 总结 本文描述并比较了ClickHouse中基于内存哈希表的3种连接…

【ARM CoreLink 系列 8.1 -- SMMU 详细介绍-STE Entry 详细介绍 1】

请阅读【ARM CoreLink 文章专栏导读】 上篇文章:【ARM CoreLink 系列 8 – SMMU 详细介绍-上半部】 文章目录 ARM SMMU STE ENTRY1.1 STE ENTRYWORD[0]1.1.1 S1ContexPtr1.1.2 S1Fmt1.1.3 Config1.1.4 V(Valid)1.2 STE ENTRY WORD[1]1.2.1 S1CDMax1.2.2 S1ContextPtr1.3 STE E…

php请求okx接口获取比特币价格数据、k线数据

php请求okx接口获取比特币价格数据 环境配置请求头、签名设置签名配置代理 全部代码 环境 我本地用的是thinkphp框架和guzzle 安装guzzle composer require guzzlehttp/guzzle 配置请求头、签名 我们需要准备api_key,secret_key,passphrase api_key…

zsh配置自定义快捷命令

本篇文章分两部分 分别是:配置使用zsh快速打开vs code、自定义git 命令 首先要知道的是 zsh有个配置文件 .zshrc 想实现上述两个功能都要在这个配置文件中做文章,介绍两个命令: open .zshrc //在默认的文本编辑器中打开 .zshrc source .zs…

StarRocks 存算分离最佳实践,让降本增效更简单

StarRocks 存算分离自版本 3.0.0 开放使用,已经历过多个大版本迭代,在众多客户生产环境中得到验证。但在用户使用过程中也反馈了一些问题,大多源自对新能力不够熟悉导致无法达到最佳效果。因而,本文提供 StarRocks 存算分离最佳实…

计网Lesson5 - MAC 地址与 ARP

文章目录 M A C MAC MAC 地址1. M A C MAC MAC 地址的格式 2. M A C MAC MAC 地址的获取3. A R P ARP ARP 协议4. A R P ARP ARP 缓存5. R A R P RARP RARP M A C MAC MAC 地址 1. M A C MAC MAC 地址的格式 每个网卡都有一个 6 6 6 字节的 M A C MAC MAC 地址 M A C…

爬虫从入门到精通(21) |字体加密通杀方案

文章目录 一、了解什么是字体加密二、Python打开字体加密文件三、字体加密的通杀1.静态的字体文件固定顺序的字体2.其他动态变化情况 一、了解什么是字体加密 字体加密是页面和前端字体文件想配合完成的一个反爬策略。通过css对其中一些重要数据进行加密,使我们在代…

【开源视频联动物联网平台】视频接入网关的用法

视频接入网关是一种功能强大的视频网关设备,能够解决各种视频接入、视频输出、视频转码和视频融合等问题。它可以在应急指挥、智慧融合等项目中发挥重要作用,与各种系统进行对接,解决视频能力跨系统集成的难题。 很多视频接入网关在接入协议…

zookeeper 单机伪集群搭建简单记录(实操课程系列)

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读测试来学习zookeeper 1、官方下载加压后,根目录下新建data和log目录,然后分别拷贝两份,分别放到D盘,E盘,F盘 2、data目录下面…

hive创建ES外部表过程中的问题

一、缺少jar包:httpclient 报错: “HiveServer2-Handler-Pool: Thread-696” java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ProtocolSocketFactory 需要加载commons-httpclient-3.1.jar 二、缺少jar包:eshado…

微服务实战系列之EhCache

前言 书接前文,继续深耕。上一篇博主对Redis进行了入门级介绍,大体知道了Redis可以干什么以及怎么使用它。 今日博主继续带着大家学习如何使用EhCache,这是一款基于Java的缓存框架。 微服务实战系列之Redis微服务实战系列之Cache微服务实战…

指针(2)

函数指针数组 函数指针数组是一个用来存放函数指针(地址)的数组。 如上图,是将两个函数指针存入数组中。如何写函数指针数组名呢?我们可以先写出函数指针类型int (*)(int,int)然后在(*)里面加上数组名[]即可。 指向函数指针数组…

python每日一题——16除自身以外数组的乘积

题目 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且在 O(n) 时间复…

ubuntu22.04识别CH340的问题汇总

一、目的 自己的电脑装的是双系统,ubuntu22.04安装了很久好久没有(WSL2确实解决了频繁依赖linux的问题)。昨天尝试搞一下STM32MP135的系统搭建,开始启用ubuntu22.04。但是遇到了很多问题,其中一个问题就是CH340的驱动…

Linux安全配置

进入ssh配置文件 vim /etc/ssh/sshd_config将port 22中的端口号改为5001 重启ssh服务 systemctl restart sshd拓展 sh与bash iptable与firewall ssh与sshd vps与ssh 参考: 【安全-SSH】SSH安全设置 - CSDN AppLinux VPS服务器SSH端口一键修改脚本​Linux脚本…

golang 集成logrus日志框架

1、安装 go get github.com/sirupsen/logrus 实现日志滚动 go get gopkg.in/natefinch/lumberjack.v2 2、初始化logrus参数 var Logger logrus.New()func SetLogrus(logConf conf.LogConfig) {Logger.SetLevel(GetLevel(logConf.Level))Logger.SetReportCaller(true)Logge…

vue2使用npm依赖包导出xlsx文件

1.下载依赖npm i xlsx 2.在根目录utils新建mergeXlxs.js /****/ import { utils, writeFile } from "xlsx";export default function mergeHeader(headers, data, datamerges, defaultTitle) {const ws utils.book_new();utils.sheet_add_aoa(ws, headers);//这里…