![](https://img-blog.csdnimg.cn/20210204213223329.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Numpy入门
文章平均质量分 96
DataWhale学习小组—Numpy入门
黄元帅
努力做好一件事
展开
-
【Task10】Numpy大作业
前言鸢(yuān)尾花Iris Data Set(鸢尾属植物数据集)历史比较悠久的数据集,它首次出现在著名的英国统计学家和生物学家Ronald Fisher 1936年的论文《The use of multiple measurements in taxonomic problems》中,被用来介绍线性判别式分析。在这个数据集中,包括了三类不同的鸢尾属植物:Iris Setosa,Iris Versicolour,Iris Virginica。每类收集了50个样本,因此这个数据集一共包含了150个样本原创 2020-12-01 23:50:21 · 335 阅读 · 0 评论 -
【Numpy学习18】线性代数
Task09学习思维导图TODO注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在这里说明。前言NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能:函数描述dot两个数组的点积,即元素对应相乘。vdot两个向量的点积inner两个数组的内积matmul两个数组的矩阵积determinant数组的行列式solve求解线性矩阵方程inv计算原创 2020-11-29 23:54:17 · 1320 阅读 · 0 评论 -
【Task09】Numpy学习打卡
Task09学习思维导图TODO注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在这里说明。前言NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能:函数描述dot两个数组的点积,即元素对应相乘。vdot两个向量的点积inner两个数组的内积matmul两个数组的矩阵积determinant数组的行列式solve求解线性矩阵方程inv计算原创 2020-11-29 23:53:08 · 584 阅读 · 0 评论 -
【Numpy学习17】统计相关
前言原创 2020-11-27 23:48:10 · 2257 阅读 · 0 评论 -
【Task08】Numpy学习打卡
Task08学习思维导图#TODO注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在代码头部import。前言一、次序统计1、最大值2、最小值3、极差4、分位数5、中位数二、均值与方差1、平均值2、加权平均值3、方差4、标准差三、相关1、计算协方差矩阵2、计算相关系数3、直方图四、练习参考文献...原创 2020-11-27 23:46:33 · 653 阅读 · 1 评论 -
【Task07】Numpy学习打卡
思维导图注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在代码头部import。前言在本章中,我们会学习Numpy中随机抽样的相关方法,而由于Scipy库也是Python中科学计算不可或缺的一个模块,所以我们进行对比学习。1、random.seed()方法seed( ) 用于指定随机数生成时所用算法开始的整数值如果使用相同的seed( )值,则每次生成的随即数都相同如果不设置这个值,则系统根据时间来自己选择这个值,生成自己的原创 2020-11-25 23:54:15 · 400 阅读 · 0 评论 -
【Numpy学习16】随机抽样
思维导图注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在代码头部import。一、离散型随机变量1、二项分布2、泊松分布3、超几何分布二、连续型随机变量1、均匀分布2、正态分布3、指数分布三、其他随机函数1、随机从序列中获取元素2、对数据集进行洗牌操作参考文献...原创 2020-11-25 23:53:17 · 2059 阅读 · 1 评论 -
【Task06】Numpy学习打卡
前言Numpy 可以读写磁盘上的文本数据或二进制数据。NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。常用的 IO 函数有:load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。#TODO 去做一个文件大小比较savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保原创 2020-11-23 23:59:24 · 2853 阅读 · 3 评论 -
【Numpy学习15】输入输出
前言Numpy 可以读写磁盘上的文本数据或二进制数据。NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。常用的 IO 函数有:load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件中。原创 2020-11-23 23:58:00 · 967 阅读 · 0 评论 -
【Task05】Numpy学习打卡
1.排序NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较:种类速度最坏情况工作空间稳定性‘quicksort’(快速排序)1O(n^2)0否‘mergesort’(归并排序)2O(n*log(n))~n/2是‘heapsort’(堆排序)3O(n*log(n))0否1)numpy.sort()参数说明:a原创 2020-10-31 23:56:51 · 276 阅读 · 0 评论 -
【Numpy学习14】集合操作
集合操作1.构造集合numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None) Find the unique elements of an array.return_index=True 表示返回新列表元素在旧列表中的位置。return_inverse=True表示返回旧列表元素在新列表中的位置。return_counts=True表示返回新列表元素在旧列表中出现的次数。原创 2020-10-31 23:52:45 · 938 阅读 · 0 评论 -
【Numpy学习13】排序,搜索和计数
1.排序NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较:种类速度最坏情况工作空间稳定性‘quicksort’(快速排序)1O(n^2)0否‘mergesort’(归并排序)2O(n*log(n))~n/2是‘heapsort’(堆排序)3O(n*log(n))0否1)numpy.sort()参数说明:a原创 2020-10-31 17:28:24 · 656 阅读 · 0 评论 -
【Task04】Numpy学习打卡
十、向量化和广播1.向量化我们先看一个numpy中向量化的例子:【十、例1-1】numpy向量化之加法>>> a = np.arange(1,5)>>> b = np.arange(1,5)>>> print(a,b,a+b)[1 2 3 4] [1 2 3 4] [2 4 6 8]>>> print([a[i]+b[i] for i in range(4)])[2, 4, 6, 8]>>> c =原创 2020-10-28 23:56:06 · 739 阅读 · 1 评论 -
【Numpy学习12】逻辑函数
1.真值测试2.数组内容3.逻辑运算4.对照原创 2020-10-28 23:50:21 · 433 阅读 · 0 评论 -
【Numpy学习11】数学函数
1.算数运算2.三角函数3.指数和对数4.加法函数和乘法函数5.四舍五入6.杂项原创 2020-10-28 23:18:49 · 2402 阅读 · 0 评论 -
【Numpy学习10】向量化和广播
1 向量化和广播向量化和广播这两个概念是 numpy 内部实现的基础。有了向量化,编写代码时无需使用显式循环。这些循环实际上不能省略,只不过是在内部实现,被代码中的其他结构代替。向量化的应用使得代码更简洁,可读性更强,也可以说使用了向量化方法的代码看上去更“Pythonic”。广播(Broadcasting)机制描述了 numpy 如何在算术运算期间处理具有不同形状的数组,让较小的数组在较大的数组上“广播”,以便它们具有兼容的形状。并不是所有的维度都要彼此兼容才符合广播机制的要求,但它们必须满足一定的原创 2020-10-27 22:32:09 · 397 阅读 · 1 评论 -
【Numpy学习09】数组操作
前言对于数组的操作大致分为2大类:单一数组操作多个数组共同操作其中,单一数组操作可分为:修改数组形状翻转数组修改数组维度数组元素的添加与删除多个数组共同操作原创 2020-10-26 01:45:57 · 347 阅读 · 0 评论 -
【Task03】Numpy学习打卡
九、数组操作前言对于数组的操作大致分为2大类:单一数组操作多个数组共同操作其中,单一数组操作可分为:修改数组形状翻转数组修改数组维度数组元素的添加与删除多个数组共同操作可分为:数组组合数组拆分1.修改数组形状修改数组形状相关的方法有如下四种:函数描述reshape不改变数据的条件下修改形状flat数组元素迭代器flatten返回一份数组拷贝,对拷贝所做的修改不会影响原始数组ravel返回展开数组1)reshape方原创 2020-10-25 23:53:52 · 277 阅读 · 0 评论 -
【Task02】Numpy学习打卡
六、副本与视图前言在学习本章之前,我们先回顾一下Python中引用和对象的概念:Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数 id(obj) 可返回对象 obj 的标识。类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的 操作。可以使用 type(obj)获得对象的所属类型。值表示对象所存储的数据的信息。使用 print(obj)可以原创 2020-10-23 23:58:31 · 783 阅读 · 0 评论 -
【Numpy学习08】数组迭代
前言除了for循环,Numpy 还提供另外一种更为优雅的遍历方法。apply_along_axis(func1d, axis, arr) Apply a function to 1-D slices along the given axis.第一个参数是要执行的函数,第二个参数是遍历的维度,第三个参数是要遍历的数据1.采用系统函数迭代>>> a = np.random.randint(0,10,(5,5))>>> print(a)[[6 8 7 0 5]原创 2020-10-23 23:52:56 · 349 阅读 · 0 评论 -
【Numpy学习07】索引与切片
前言ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。1.整数索引【例1】通过整数索引访问数组>>> a = np.random.randint(0,10,5)>>> print(a,a[2])[2 7 3 6 6] 3>>> b = np.random.randint(0,10,(5,5))>>> print(b,b[3][1],b[3,1])[[3 7 0 7原创 2020-10-23 23:37:22 · 497 阅读 · 1 评论 -
【Numpy学习06】副本与视图
前言在学习本章之前,我们先回顾一下Python中引用和对象的概念:Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数 id(obj) 可返回对象 obj 的标识。类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的 操作。可以使用 type(obj)获得对象的所属类型。值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值。原创 2020-10-23 21:37:50 · 340 阅读 · 1 评论 -
【Numpy学习05】数组的属性
文章目录:前言1.ndarray.ndim【例1】返回数组的维数2.ndarray.shape【例2】返回数组的维度3.ndarray.size【例3】返回数组元素的总个数4.ndarray.dtype【例4】返回数组的元素类型5.ndarray.itemsize【例5】返回数组中每一个元素的大小6.ndarray.flags【例6】返回数组的内存信息7.ndarray.real和ndarray.imag【例7】返回数组的实部和虚部8.ndarray.data【例8】返回数组的缓冲区前言在学过数组的创建原创 2020-10-21 22:26:07 · 745 阅读 · 0 评论 -
【Task01】Numpy学习打卡
注:为了节约行数,默认import numpy as np已经写在每段代码前,不再重复写入,如果有新的包引入,会在代码头部import一、常量前言:NumPy包括几个常量:np.inf、np.NINF、np.PZERO & np.NZERO、np.nan、np.e、np.pi、np.euler_gamma、np.newaxis1、正无穷大numpy中正无穷大一共有五种表现形式:Inf = inf = infty = Infinity = PINFNumPy 使用IEEE二进制浮点算法原创 2020-10-20 23:52:56 · 1421 阅读 · 0 评论 -
【Numpy学习04】数组的创建
引言NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型,它是描述相同类型的元素集合。ndarray 中的每个元素都是数据类型对象(dtype)的对象。ndarray 中的每个元素在内存中使用相同大小的块ndarray的含义是The N-dimensional array,意思就是N维数组注:默认import numpy as np已经写在每段代码前,不再重复写入1. 依据现有数据来创建 ndarray【例1-1】通过array()函数进行创建。def array(p_ob原创 2020-10-20 23:24:53 · 477 阅读 · 0 评论 -
【Numpy学习03】时间日期和时间增量
文章目录:引言1、datetime64的使用:【例1-1】datetime64的使用 自动选择对应单位【例1-2】datetime64的使用 指定使用的单位【例1-3】字符串创建日期时间数组(详尽效应)【例1-4】配合 arange 函数使用【例1-5】有趣的起始日期2、关于Datetime64的运算【例2-1】Datetime64 和 timedelta64 运算【例2-2】timedelta64 单独运算【例2-3】numpy.datetime64 与 datetime.datetime 相互转换3、工原创 2020-10-20 22:10:07 · 1161 阅读 · 1 评论 -
【Numpy学习02】数据类型
1、常见数据类型2、创建数据类型解释 a = np.dtype(‘b1’)3、数据类型信息解释 np.iinfo(np.int16)原创 2020-10-20 18:50:52 · 1131 阅读 · 0 评论 -
【Numpy学习01】常数
文章目录:前言:1、正无穷大【例1】判断Inf 、inf 、infty、Infinity、PINF的关系2、负无穷大【例2】打印负无穷大3、正负零【例3】打印正负零4、非数值【例4-1】判断两个非数值是否相等【例4-2】判断nan、NaN、NAN的关系【例4-3】计算ndarray中非数值常量(nan)的数量5、自然数e【例5-1】打印自然数e【例5-2】判断numpy中自然数e的有效位数6、圆周率π【例6】打印圆周率π7、伽马常数γ【例7】伽马常数γ8、None(newaxis)【例8-1】判断None和原创 2020-10-19 20:01:13 · 1283 阅读 · 1 评论 -
【陆续排坑】解决conda下载速度慢的问题:更换国内源
序写在前面,由于国内墙的原因,Conda下载安装包很慢,这里我们需要使用国内的镜像才能提高速度。1、查看当前的下载源(初始)conda config --show一般来说,channels是默认defaults,也就是下面的repo.anaconda.com/XX,这个网址是需要翻墙访问的,否则会很慢,甚至报错。2、修改国内源这里有三组国内源可供选择:清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/https原创 2020-10-17 12:07:27 · 45178 阅读 · 3 评论 -
Win10利用Anaconda搭建Numpy环境
序写在开头的开头,为什么要用Anaconda来搭建Numpy环境呢?直接用命令行运行python它不香吗?用命令行当然可以跑Numpy,但是会涉及到版本冲突问题,此话怎讲?比如你开发两个项目A和B,项目A需要Python2,项目B需要Python3,你怎么处理这种情况,做完项目A然后再装一个Python3?或者简单点,重新设置系统Python的环境变量?这有点“费力不讨好”的意思,所以我们用Anaconda来搭建Numpy环境,这样的话遇到上面的情况,我们直接一句代码切换环境即可~什么是Anaco原创 2020-10-15 22:37:48 · 3977 阅读 · 0 评论