【数据分析 | 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.hqwc.cn/news/235994.html

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

相关文章

Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…

Python教程 – 简单代码实现HTML 转Word

之前文章分享过如何使用Spire.Doc for Python库将Word文档转为HTML格式,反过来,该库也能实现HTML到Word文档的转换。通过代码进行转换,避免了手动复制粘贴费时间,并且可能会出现错误或格式混乱等问题。 Spire.Doc for Python库能…

Linux:docker的网络通信(7)

1.端口映射 端口映射---端口映射机制将容器内的服务提供给外部网络访问 启动容器时,不指定对应的端口,在容器外无法通过网络访问容器内的服务 可随机或指定映射端口范围 -P ---------大写P,开启随机端口 -p 宿主机端口:容器端口…

RHEL8.9 静默安装Oracle19C

RHEL8.9 静默安装Oracle19C 甘肃圆角网络科技开发有限公司 说明(GUI):  1.实际业务场景中,Linux环境一般情况下是没有GUI的。没有GUI并不意味着没有安装图形界面。可能在部署Linux操作系统环境的时候安装了桌面环境,只是启动的时候设置了启动…

【UGUI】实现背包的常用操作

1. 添加物品 首先,你需要一个包含物品信息的类,比如 InventoryItem: using UnityEngine;[CreateAssetMenu(fileName "NewInventoryItem", menuName "Inventory/Item")] public class InventoryItem : ScriptableObje…

智安网络|发现未知风险,探索渗透测试的奥秘与技巧

在当今信息时代,网络安全已成为组织和个人面临的重大挑战。为了保护网络系统的安全,渗透测试成为一种重要的手段。 一、渗透测试的基本原理 渗透测试是通过模拟黑客攻击的方式,对目标系统进行安全评估。其基本原理是模拟真实攻击者的思维和行…

【小布_ORACLE笔记】Part11-5 RMAN Backups

【小布_ORACLE笔记】Part11-5 RMAN Backups 文章目录 【小布_ORACLE笔记】Part11-5 RMAN Backups1. 增量备份(Incremental Backups)1.1差异增量备份(Differential Incremental Backup)1.2累积增量备份(Cumulative Incremental Bac…

Python-简单模拟斗地主洗牌发牌

额滴名片儿 🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:如喜欢麻烦您点个👍或者点个⭐&#xff01…

数据挖掘 感知机

要使用感知机,我们首先要引入头文件,以下是感知机用的到头文件: import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import Perceptron from sklearn.model_selection import train_test_…

音乐播放器Swinsian mac功能介绍

Swinsian mac是一款音乐播放器,它的特点是轻量级、快速、易用。Swinsian支持多种音频格式,包括MP3、AAC、FLAC、WAV等。它还具有iTunes集成功能,可以自动导入iTunes音乐库中的音乐,并支持智能播放列表、标签编辑、自定义快捷键等功…

11-30 JavaWeb

修改与删除操作 防止空指针异常 localhost:8080 -> 分页查询 修改流程:(先查后改(两个servlet)) 修改: 传用户id(用户id怎么得到 -> 循环一次得到一个user 对象 user对象里用user.getId()得到用户id) UpdateUserQueryServlet.java (…

uniapp + electron 打包项目

参考文献 1、控制台安装electron和electron打包工具electron-packager npm install electron -g npm install electron-packager -g2、manifest.json修改 运行的基础路径修改为:./ 不然打包出来会出现白屏,读取不到,因为打包出来的h5默认加…