Numpy
文章平均质量分 96
Numpy
数智笔记
目前从事数据挖掘工作,期望在自己学习总结的同时,也能分享有益的东西给别人,希望有志者能在数据挖掘领域共同进步
展开
-
NumPy基础知识:拷贝和视图
,可以以不同的方式访问数组,而无需更改数据缓冲区。这可以确保良好的性能,但如果用户不了解其工作原理,也可能导致不必要的问题。因此,了解这两个术语的区别以及哪些操作返回拷贝,哪些返回视图是很重要的。然而,在某些情况下,数组变得不连续(例如在ndarray.transpose。NumPy数组是一个数据结构,由两部分组成:包含实际数据元素的连续数据缓冲区和包含有关数据缓冲区的元数据。在这些情况下,我们可以通过将新形状分配给数组的形状属性来引发错误。的赋值过程中,没有创建视图或拷贝,因为赋值是就地进行的。原创 2024-02-21 11:53:15 · 293 阅读 · 0 评论 -
NumPy基础 `ndarrays` 的索引
在这种情况下,如果索引数组具有匹配的形状,并且对于被索引的数组的每个维度都有一个索引数组,则结果数组的形状与索引数组的形状相同,并且值对应于索引数组中每个位置的索引集。当从一个大数组中提取一个在提取后变得无用的小部分时,必须小心,因为提取的小部分包含对大原始数组的引用,只有在所有从中派生的数组都被垃圾回收后,其内存才会被释放。跳到更复杂的级别,可以只使用索引数组部分索引数组。通常情况下,结果数组的形状将是索引数组的形状(或所有索引数组被广播到的形状)与被索引数组中未使用的维度(未索引的维度)的形状的连接。原创 2024-02-21 11:52:41 · 963 阅读 · 0 评论 -
NumPy基础 使用genfromtxt导入数据
genfromtxt的唯一必需参数是数据的来源。它可以是一个字符串、一个字符串列表、一个生成器或一个具有read方法的打开的文件对象,例如文件或io.StringIO对象。如果提供了单个字符串,则假定它是一个本地或远程文件的名称。如果提供了一个字符串列表或返回字符串的生成器,每个字符串都被视为文件中的一行。当传递远程文件的URL时,文件会自动下载到当前目录并打开。可识别的文件类型是文本文件和存档文件。目前,该函数识别gzip和bz2bzip2)存档。存档的类型是根据文件的扩展名确定的:如果文件名以。原创 2024-02-21 11:51:51 · 641 阅读 · 0 评论 -
NumPy基础 广播 broadcast
在满足一定约束条件的情况下,较小的数组会“广播”到较大的数组上,使它们具有兼容的形状。相反,如果使用Python循环分别计算每个观测,就像上面的二维示例中的代码一样,将使用一个更小的数组。在实践中,重要的是对身高和体重进行归一化处理,通常是通过它们在数据集中的标准差,以便两者对距离计算有相等的影响。的RGB值数组,并且你想要按不同的值缩放图像中的每个颜色,你可以将图像乘以一个具有3个值的一维数组。当数组的尾部维度不相等时,广播失败,因为无法将第一个数组的行值与第二个数组的元素进行逐元素相加。原创 2024-02-21 11:51:00 · 891 阅读 · 0 评论 -
NumPy基础 数组创建
从其他Python结构(如列表和元组)进行转换使用内置的NumPy数组创建函数(例如arange、ones、zeros等)复制、连接或修改现有数组从磁盘读取数组,可以是标准格式或自定义格式通过字符串或缓冲区使用原始字节创建数组使用特殊的库函数(例如random)您可以使用这些方法创建ndarray或结构化数组。本文档将介绍ndarray创建的一般方法。这是创建大型数组的最常见情况。具体细节取决于磁盘上数据的格式。本节提供了处理各种格式的一般指导。有关更详细的 IO 示例,请参阅。原创 2024-02-21 11:50:21 · 573 阅读 · 0 评论 -
NumPy基础 数据类型和通用函数(`ufunc`)基础
数组标量与Python标量有所不同,但在大多数情况下可以互换使用(主要的例外是对于早于v2.x的Python版本,整数数组标量不能用作列表和元组的索引)。数据类型可以用作函数,将Python数字转换为数组标量(请参阅数组标量部分以了解解释),将Python数字序列转换为该类型的数组,或作为许多NumPy函数或方法接受的dtype关键字的参数。许多内置函数是用编译的C代码实现的。基本的ufunc操作于标量,但也有一种广义的ufunc,其基本元素是子数组(向量、矩阵等),并且广播是在其他维度上进行的。原创 2024-02-21 11:49:31 · 828 阅读 · 0 评论 -
NumPy特性:遮罩数组 Masked Arrays.
考虑以下问题。你有一个包含缺失或无效条目的数据集。如果你对这些数据进行任何处理,并且想要跳过或标记这些不需要的条目而不是简单地删除它们,你可能需要使用条件语句或以某种方式过滤你的数据。numpy.ma模块提供了一些与相同的功能,并添加了结构以确保无效条目不参与计算。来自参考指南遮罩数组是标准和一个遮罩的组合。遮罩可以是nomask,表示关联数组的没有任何值是无效的,或者是一个布尔数组,用于确定关联数组的每个元素是否有效。当遮罩的元素为False时,关联数组的相应元素是有效的,被称为未遮罩。当遮罩的元素为。原创 2024-02-20 18:48:48 · 731 阅读 · 0 评论 -
NumPy 特性:n维数组上的线性代数
Python 教程NumPy 参考手册SciPy 教程SciPy 讲义一个 Matlab、R、IDL、NumPy/SciPy 字典。原创 2024-02-20 18:47:33 · 875 阅读 · 0 评论 -
NumPy 应用:使用 NumPy 确定静态平衡
你已经学会了如何使用数组在三维空间中表示点、力和力矩。数组中的每个条目可以用来表示一个物理属性的方向分量。这些可以很容易地使用 NumPy 函数进行操作。原创 2024-02-20 18:45:43 · 830 阅读 · 0 评论 -
NumPy 应用:分析印度德里市封锁对空气质量的影响
让我们假设在全面封锁前后,样本均值之间没有显著差异。这将是零假设。备择假设是样本均值之间存在显著差异,且AQI有所改善。原创 2024-02-20 18:41:40 · 681 阅读 · 0 评论 -
NumPy 应用:使用像素玩 Pong 的深度强化学习
在本节中,您将设置一个计算折扣回报()的函数 —— 从观测中得到的预期回报 —— 它使用一个包含奖励的 1D 数组作为输入(借助 NumPy 的 np.zeros_like()函数)。为了对短期奖励给予更多权重,而不是长期奖励,您将使用一个折扣因子(gamma),通常是 0.9 到 0.99 之间的浮点数。# 从最后一个回报到第一个...# ...重置回报总和if r[t]!= 0:# ...计算折扣回报。原创 2024-02-20 18:40:32 · 954 阅读 · 0 评论 -
NumPy 应用:对过去十年的重要演讲进行情感分析
在多层感知机(MLP)中,信息只沿着一个方向传递 - 从输入层,通过隐藏层,到输出层。信息直接通过网络传递,从不在后期考虑先前节点的影响。因为它只考虑当前输入,所以学习到的特征在序列的不同位置之间不共享。此外,它无法处理长度不同的序列。与 MLP 不同,RNN 的设计目的是处理序列预测问题。RNN 引入状态变量来存储过去的信息,以及当前的输入,以确定当前的输出。由于 RNN 将学习到的特征与序列中的所有数据点共享,而不考虑其长度,因此它能够处理长度不同的序列。原创 2024-02-20 17:43:01 · 974 阅读 · 0 评论 -
NumPy 应用 绘制分形图像
今天我们学到了很多关于生成分形图像的知识。我们看到了如何使用通用函数高效计算需要多次迭代的复杂分形图像。我们还利用了布尔索引,这样可以减少计算量,而无需逐个验证每个值。最后,我们还学到了很多关于分形本身的知识。分形图像是通过对一组值迭代应用函数,并记录每个值通过某个阈值所需的时间来创建的图像中的颜色对应于值的计数ccc的填充Julia集由所有使得fzz2cfzz2c收敛的复数z组成ccc的Julia集是组成填充Julia集边界的复数集合Mandelbrot集是所有使得f。原创 2024-02-20 17:41:59 · 913 阅读 · 0 评论 -
NumPy 应用:X射线图像处理
与 Sobel 滤波器类似,Prewitt 算子也将两个 3x3 的卷积核矩阵(一个用于每个轴)应用于 X 射线图像,然后使用勾股定理计算两个梯度之间的幅度,并像之前一样对图像进行归一化。在下一个示例中,您将使用 ChestX-ray8 数据集中的 9 张 1024x1024 像素的 X 射线图像,这些图像已从数据集文件中下载并提取出来。识别感兴趣的区域 - 图像中的某些像素集合 - 可以很有用,掩码是与原始图像形状相同的布尔数组。最后,将重新缩放的图像归一化,使像素值介于 0 和 255 之间。原创 2024-02-20 17:36:49 · 861 阅读 · 0 评论 -
NumPy 应用: 使用 NumPy 确定摩尔定律的真实数据
总之,您已经比较了半导体制造商的历史数据与摩尔定律,并创建了一个线性回归模型,以找出每两年微处理器中平均增加的晶体管数量。戈登·摩尔预测,从1965年到1975年,晶体管数量将每两年翻倍一次,但从1971年到2019年,平均增长保持了每两年的一致增加。在2015年,摩尔修正了他的预测,称摩尔定律应该持续到2025年。3] 您可以将这些结果分享为一个压缩的 NumPy 数组文件,或者另一个 csv 文件。半导体制造业的惊人进步已经推动了新的产业和计算能力。这个分析应该能让您对过去半个世纪的这种增长有一点了解。原创 2024-02-19 23:24:26 · 592 阅读 · 0 评论 -
NumPy 应用:在 MNIST 数据集上进行深度学习
以下是神经网络模型架构和训练过程的摘要:输入层这是网络的输入-之前经过预处理的从加载到layer_0中的数据。隐藏(中间)层layer_1获取前一层的输出,并通过NumPy的np.dot()对输入进行矩阵乘法(weights_1然后,将此输出通过ReLU激活函数进行非线性处理,然后应用dropout以帮助防止过拟合。输出(最后)层layer_2接收layer_1的输出,并使用weights_2进行相同的“点乘”过程。最终输出返回每个0-9数字标签的10个分数。原创 2024-02-19 22:18:05 · 589 阅读 · 0 评论 -
MATLAB用户的NumPy指南
MATLAB®和NumPy有很多共同之处,但NumPy是为Python开发的,而不是MATLAB的克隆版本。本指南将帮助MATLAB用户入门NumPy。在 MATLAB 中,用于自定义环境的主要工具是通过修改搜索路径来指定您喜爱函数的位置。您可以将这些自定义内容放入启动脚本中,MATLAB 将在启动时运行该脚本。NumPy,或者说 Python,也有类似的功能。要修改 Python 的搜索路径以包含自己模块的位置,请定义PYTHONPATH环境变量。原创 2024-02-19 09:50:18 · 687 阅读 · 0 评论 -
NumPy快速入门
通常,数组的元素最初是未知的,但其大小是已知的。它是一个由元素(通常是数字)组成的表格,所有元素的类型相同,由非负整数的元组索引。广播的第二个规则确保在特定维度上大小为1的数组会像在该维度上具有最大形状的数组一样起作用。广播的第一个规则是,如果所有输入数组的维数不相同,则会在较小数组的形状前面重复添加“1”,直到所有数组的维数相同。当操作不同类型的数组时,结果数组的类型对应于更一般或更精确的类型(这种行为称为向上转型)。注意,1D 布尔数组的长度必须与你要切片的维度(或轴)的长度相一致。原创 2024-02-19 00:01:46 · 1090 阅读 · 0 评论 -
NumPy:初学者的绝对基础知识
数组是NumPy库的核心数据结构。数组是一个值的网格,它包含有关原始数据的信息,如何定位元素以及如何解释元素。它具有一系列可以以各种方式进行索引的元素。这些元素都是相同类型的,称为数组的dtype。数组可以通过非负整数的元组、布尔值、另一个数组或整数进行索引。数组的rank是其维数的数量。数组的shape是一个由整数组成的元组,给出了数组沿每个维度的大小。我们可以通过使用Python列表来初始化NumPy数组,使用嵌套列表来表示二维或更高维数据。我们可以使用方括号访问数组中的元素。原创 2024-02-18 23:56:23 · 768 阅读 · 0 评论