![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
巨硬的Numpy
文章平均质量分 81
本专栏转载自:https://github.com/datawhalechina/powerful-numpy
绿洲213
springboot3只支持jdk17
展开
-
np.quantile()详解
axis=0,先按列进行升序排列。原创 2023-02-26 18:17:49 · 2283 阅读 · 0 评论 -
ch06-不止NumPy (进阶)
当调用一个Numba的装饰器时,它会被编译为「即时」的机器代码以供执行,全部或部分代码随后可以以机器代码的速度运行。它的原理是,通过读取装饰函数的Python字节码,并将其与函数输入的参数类型信息相结合,分析和优化代码后,使用LLVM编译器根据CPU定制生成函数的机器代码版本。之后的调用都会使用该编译后的版本。着重说一下第二个API,它接受两个参数:max_size(输出的最大元素数,默认1000)和min_density(输出的最小密度,默认0.25),当一个稀疏数组两个条件都不满足时,会抛出异常。原创 2023-01-06 15:08:10 · 228 阅读 · 0 评论 -
ch05-概率统计 (进阶)
文档阅读说明:有一部分常用的基础API在《从小白到入门》中已经做了介绍,此处不再赘述。主要是均值、中位、方差和标准差——支持非值(NaN)的情况。均值:中位:标准差:分位数:相关性计算两个一维数组的互相关性,参数:是皮尔逊相关系数,参数:公式:Rij=CijCii∗CjjR_{ij} = \frac{ C_{ij} } { \sqrt{ C_{ii} * C_{jj} } }Rij=Cii∗CjjCij原创 2023-01-06 15:07:15 · 276 阅读 · 0 评论 -
ch04-线性代数 (进阶)
也可以指定mask的值,这里两个阈值rtol和atol,默认值和一样,表示在该范围内的值都被mask。# mask掉1.1 ma . masked_values([ 1 , 1.1 , 1.1 + 1e-8 , 2 , 3 , 4 ] , 1.1)# 整数时完全相等才算 ma . masked_values([ 1 , 2 , 3 , 4 ] , 2 , rtol = 1 , atol = 2)原创 2023-01-06 15:04:43 · 185 阅读 · 0 评论 -
ch03-数值计算(进阶)
幂序列 p = np . polynomial . Polynomial([ 3 , 2 , 1 ]) px↦3.02.0x1.0x2x↦3.02.0x1.0x2p(3)18.0# 拟合 fitted = np . polynomial . Polynomial . fit(x , y , deg = 1) fittedx↦-1.0xx↦-1.0xx↦xx↦x。原创 2023-01-06 15:07:35 · 208 阅读 · 0 评论 -
ch02-操作变换 (进阶)
比较两个对象(标量,数组,元组,字典,NumPy数组等)。如果其中一个是标量,另一个是数组,则会比较标量与数组的每一个元素。通函数(ufunc)是以逐个元素的方式对ndarray进行操作的函数,支持数组广播、类型转换等。小,后者内部调用了前者。我们在《从小白到入门》中已经做了介绍,这里主要介绍带非数值(NaN)的版本,以极小值为例。是通用类,将自定义函数向量化,主要是方便,而不是为了提高性能,内部实际是一个for循环。注意,返回的结果中,第k个元素的位置是排好序时的位置(不是原始数组中的index)。原创 2023-01-06 15:07:20 · 105 阅读 · 0 评论 -
ch01-核心概念 (进阶)
可以使用np.asarray或np.array将其转为array(会调用__array__[4, 5]])或者使用NumPy的API进行操作时,也会调用__array__[6, 7]])可以通过自定义或来自**「定义行为」**。假设需要定义一个自定义类加法,可以通过使用__add__或继承来实现。原创 2023-01-06 15:06:29 · 202 阅读 · 0 评论 -
5. 筛选和过滤
条件筛选经常用于 Mask 或异常值处理,提取则常用于结果过滤,抽样常用在数据生成(比如负样本抽样),最大最小 index 则常见于机器学习模型预测结果判定中(根据最大概率所在的 index 决定结果属于哪一类)。这小节与索引和切片有点类似,但倾向于从「整体」中统一筛选出「符合条件」的内容,而索引和切片更多的是依照「某种方法」切出一块内容。⚠️ 需要注意的是:where 分别返回各维度的 index,赋值的是「不满足」条件的。,当然最常用的还是第一个,不用说,自然是可以(需要)指定 axis 的。原创 2023-01-06 15:05:10 · 183 阅读 · 0 评论 -
6. 矩阵和运算
如果您愿意,使用 for 循环也是可以的,但如果最终的答案不对,还是需要重新检查一下。恭喜您学完了 Numpy《从小白到入门》的教程,相信有此基础您在日后足以应付绝大部分的使用场景。如果您还想继续深入学习 Numpy,欢迎关注我们后续课程《从入门到精通》,在那里,我们将深入。当然,高纬度的计算我们这里并不涉及,但逻辑是一致的,只是更加复杂。在计算过程中,较小的数组会在较大的数组上进行「广播」,以便适配对方的形状。接下来,是时候对学到的成果进行一番检验了,为此我们给您准备了两个小菜和一分多餐,请尽情享用。原创 2023-01-06 15:06:01 · 434 阅读 · 0 评论 -
4. 分解和组合
有时候我们需要对已有的几个 array 进行拼接以形成一个大的 array(常见的例子比如不同类型特征的拼接)。有拼接堆叠自然就有拆分,注意这不是切片和索引,就是将 array 拆成想要的几份。这节我们主要学习 array 的分解和组合,本节是所有章节中最重要的一节,通过本节内容,您可以充分了解。,前者是拼接,后者是堆叠(会增加一个维度),都可以指定维度。⚠️ 需要注意的是:是一个维度一个维度依次重复,而不是整个 array 重复。⚠️ 需要注意的是:分拆的 axis 是对该维度进行拆分。原创 2023-01-06 15:05:41 · 113 阅读 · 0 评论 -
3. 形状和转换
array 大多数情况下都是以多维的形式出现的,一般对超过二维的多维 array 称为「张量」,二维矩阵,一维向量。转置是线性代数的基本操作,拿二维矩阵为例,通俗理解就是把它放倒,shape 反转,行变成列,列成为行。也可以看作是一种对原数组的转换,用的不多,可以了解一下,为接下来的索引和切片做个热身。⚠️ 需要注意的是:无论是扩展还是缩减,多或少的 shape 都是 1,,或者写一个方法,或者用 Python list 的索引功能,而这也是。这小节里面的 API 使用非常高频,尤其是扩展 1 维度的。原创 2023-01-05 13:39:41 · 309 阅读 · 0 评论 -
2. 统计和属性
同时,我们指定了 seed,这样每次运行,每个人看到的结果都是一样的。⚠️ 需要注意的是:分位数可以是 0-1 的任意小数(表示对应分位),而且分位数并不一定在原始的 array 中。本节我们从 array 的基本统计属性入手,对刚刚创建的 array 进一步的了解。都是描述性统计相关的指标,对于我们从整体了解一个 array 很有帮助。其中,用到最多的是尺寸相关的「这一小节主要包括:平均值、累计求和、方差、标准差等进一步的统计指标。这一小节主要包括:最大值、最小值、中位数、其他分位数,其中『原创 2023-01-05 13:35:49 · 113 阅读 · 0 评论 -
1. 创建和生成
本教程内容旨在帮助没有基础的同学快速掌握numpy的常用功能,保证日常绝大多数场景的使用。可作为机器学习或深度学习的先修课程,也可作为快速备查手册。值得一提的是,深度学习的各大框架很多 API 和numpy也是一脉相承的哦,可以说numpy玩儿熟了,几个深度学习框架的不少 API 也同时学会了。,您在使用的过程中无须过多关注 API 各种参数细节,教程提供的用法足以应付绝大部分场景,更深入的使用方式可以自行根据需要探索或学习后续的《基础教程》。原创 2023-01-05 13:32:24 · 98 阅读 · 0 评论 -
全书简介和作者寄语
巨硬的NumPy教程包括两部分:《从小白到入门》和《从入门到熟练》。numpynumpy。原创 2023-01-05 13:26:28 · 56 阅读 · 0 评论