【数据分析 | 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。
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)  # 参数: 数组、重复次数
						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
相关推荐
数据猎手小k4 小时前
AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
人工智能·分类·数据挖掘
sp_fyf_20244 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
陈燚_重生之又为程序员4 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
几两春秋梦_9 小时前
符号回归概念
人工智能·数据挖掘·回归
艾派森11 小时前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
竹笋常青13 小时前
《流星落凡尘》
django·numpy
武子康15 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
Q81375746016 小时前
数据挖掘在金融交易中的应用:民锋科技的智能化布局
人工智能·科技·数据挖掘
布说在见16 小时前
魅力标签云,奇幻词云图 —— 数据可视化新境界
信息可视化·数据挖掘·数据分析
Tianyanxiao17 小时前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售