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

🤵‍♂️ 个人主页: @AI_magician

📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。

👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍

🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)


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


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

该文章收录专栏

✨--- [《深入解析机器学习:从原理到应用的全面指南》](https://blog.csdn.net/weixin_66526635/category_12216068.html) ---✨

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。
python 复制代码
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)  # 参数: 数组、重复次数
复制代码
						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
相关推荐
Leo.yuan3 小时前
基于地图的数据可视化:解锁地理数据的真正价值
大数据·数据库·信息可视化·数据挖掘·数据分析
幽络源小助理4 小时前
翼兴消防监控 – 大数据可视化HTML源码
信息可视化·数据分析·html
思通数据15 小时前
AI全域智能监控系统重构商业清洁管理范式——从被动响应到主动预防的监控效能革命
大数据·人工智能·目标检测·机器学习·计算机视觉·数据挖掘·ocr
大神薯条老师15 小时前
Python零基础入门到高手8.4节: 元组与列表的区别
开发语言·爬虫·python·深度学习·机器学习·数据分析
lilye6616 小时前
精益数据分析(55/126):双边市场模式的挑战、策略与创业阶段关联
大数据·人工智能·数据分析
码上地球16 小时前
因子分析基础指南:原理、步骤与地球化学数据分析应用解析
大数据·数据挖掘·数据分析
RE-190117 小时前
PowerBI基础
数据分析·powerbi·思维导图·bi工具·数分工具
lilye6620 小时前
精益数据分析(56/126):创业阶段的划分与精益数据分析实践
数据挖掘·数据分析
lilye661 天前
精益数据分析(62/126):从客户访谈评分到市场规模估算——移情阶段的实战进阶
数据挖掘·数据分析
Christo31 天前
关于在深度聚类中Representation Collapse现象
人工智能·深度学习·算法·机器学习·数据挖掘·embedding·聚类