https://www.toutiao.com/a6664936105076326920/

总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大。堪比Matlab啊。果然是人生苦短,我用Python。所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等,希望可以帮助大家快速入门Numpy。如果你有Matlab基础,那么你能很快看懂本文!!!(本文长期更新!!!)

一个栗子

Python精讲Numpy基础,大牛笔记详细解释

创建矩阵

对于Python中的numpy模块,一般用其提供的ndarray对象。 创建一个ndarray对象很简单,只要将一个list作为参数即可。 例如:

Python精讲Numpy基础,大牛笔记详细解释

矩阵行数列数

Python精讲Numpy基础,大牛笔记详细解释

矩阵按行列选取

矩阵的截取和list相同,可以通过[](方括号)来截取

Python精讲Numpy基础,大牛笔记详细解释

矩阵按条件截取

Python精讲Numpy基础,大牛笔记详细解释

按条件截取应用较多的是对矩阵中满足一定条件的元素变成特定的值。 例如将矩阵中大于6的元素变成0

Python精讲Numpy基础,大牛笔记详细解释

Stacking together different arrays

矩阵的合并可以通过numpy中的hstack方法和vstack方法实现:

Python精讲Numpy基础,大牛笔记详细解释

  • 矩阵的合并也可以通过concatenatef方法。
  1. np.concatenate( (a1,a2), axis=0 ) 等价于 np.vstack( (a1,a2) )
  2. np.concatenate( (a1,a2), axis=1 ) 等价于 np.hstack( (a1,a2) )

通过函数创建矩阵

arange

Python精讲Numpy基础,大牛笔记详细解释

linspace/ logspace

Python精讲Numpy基础,大牛笔记详细解释

ones、zeros、eye、empty

ones创建全1矩阵 ,zeros创建全0矩阵 ,eye创建单位矩阵 ,empty创建空矩阵(实际有值)

Python精讲Numpy基础,大牛笔记详细解释

fromstring

fromstring()方法可以将字符串转化成ndarray对象,需要将字符串数字化时这个方法比较有用,可以获得字符串的ascii码序列。

random

fromfunction

fromfunction()方法可以根据矩阵的行号列号生成矩阵的元素。 例如创建一个矩阵,矩阵中的每个元素都为行号和列号的和。

矩阵的运算

常用矩阵运算符

Numpy中的ndarray对象重载了许多运算符,使用这些运算符可以完成矩阵间对应元素的运算。

运算符说明+矩阵对应元素相加-矩阵对应元素相减矩阵对应元素相乘/矩阵对应元素相除,如果都是整数则取商%矩阵对应元素相除后取余数矩阵每个元素都取n次方,如*2:每个元素都取平方

常用矩阵函数

同样地,numpy中也定义了许多函数,使用这些函数可以将函数作用于矩阵中的每个元素。 表格中默认导入了numpy模块,即 import numpy as np 。a为ndarray对象。

常用矩阵函数说明np.sin(a)对矩阵a中每个元素取正弦,sin(x)np.cos(a)对矩阵a中每个元素取余弦,cos(x)np.tan(a)对矩阵a中每个元素取正切,tan(x)np.arcsin(a)对矩阵a中每个元素取反正弦,arcsin(x)np.arccos(a)对矩阵a中每个元素取反余弦,arccos(x)np.arctan(a)对矩阵a中每个元素取反正切,arctan(x)np.exp(a)对矩阵a中每个元素取指数函数,exnp.sqrt(a)对矩阵a中每个元素开根号

  • 当矩阵中的元素不在函数定义域范围内,会产生RuntimeWarning,结果为nan(not a number)

矩阵乘法(点乘)

矩阵乘法必须满足矩阵乘法的条件,即第一个矩阵的列数等于第二个矩阵的行数。 矩阵乘法的函数为 dot 。

矩阵的转置 a.T

矩阵的转置还有更简单的方法,就是a.T。

矩阵的逆

设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。

求矩阵的逆需要先导入numpy.linalg,用linalg的inv函数来求逆。矩阵求逆的条件是矩阵应该是方阵。

矩阵信息获取(如均值等)

最值

获得矩阵中元素最大最小值的函数分别是max和min,可以获得整个矩阵、行或列的最大最小值。

平均值

获得矩阵中元素的平均值可以通过函数mean()。同样地,可以获得整个矩阵、行或列的平均值。

Python精讲Numpy基础,大牛笔记详细解释

方差

方差的函数为var(),方差函数var()相当于函数mean(abs(x - x.mean())**2),其中x为矩阵。

标准差

标准差的函数为std()。 std()相当于sqrt(mean(abs(x - x.mean())**2)),或相当于sqrt(x.var())。

中值

中值指的是将序列按大小顺序排列后,排在中间的那个值,如果有偶数个数,则是排在中间两个数的平均值。中值的函数是median(),调用方法为numpy.median(x,[axis]),axis可指定轴方向,默认axis=None,对所有数取中值。

求和

矩阵求和的函数是sum(),可以对行,列,或整个矩阵求和

Python精讲Numpy基础,大牛笔记详细解释

累积和

某位置累积和指的是该位置之前(包括该位置)所有元素的和。例如序列[1,2,3,4,5],其累计和为[1,3,6,10,15],即第一个元素为1,第二个元素为1+2=3,……,第五个元素为1+2+3+4+5=15。矩阵求累积和的函数是cumsum(),可以对行,列,或整个矩阵求累积和。

Python精讲Numpy基础,大牛笔记详细解释

极差

Python精讲Numpy基础,大牛笔记详细解释

百分位数

Python精讲Numpy基础,大牛笔记详细解释

序号参数及描述1.a 输入数组2.q 要计算的百分位数,在 0 ~ 100 之间3.axis 沿着它计算百分位数的轴

加权平均值

Python精讲Numpy基础,大牛笔记详细解释

Shape Manipulation

Changing the shape of an array

Python精讲Numpy基础,大牛笔记详细解释

数组的形状可以用以下方式改变。Note that the following three commands all return a modified array, but do not change the original array:

Python精讲Numpy基础,大牛笔记详细解释

The reshape function returns its argument with a modified shape, whereas the ndarray.resize method modifies the array itself:

Python精讲Numpy基础,大牛笔记详细解释

If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated:

Python精讲Numpy基础,大牛笔记详细解释

Splitting one array into several smaller ones

Using hsplit, you can split an array along its horizontal axis, either by specifying the number of equally shaped arrays to return, or by specifying the columns after which the division should occur:

Python精讲Numpy基础,大牛笔记详细解释

Copies and Views

When operating and manipulating arrays, their data is sometimes copied into a new array and sometimes not. This is often a source of confusion for beginners. There are three cases:

No Copy At All

a = b,改变b就相当于改变a,或者相反。

Python精讲Numpy基础,大牛笔记详细解释

View or Shallow Copy

Different array objects can share the same data. The view method creates a new array object that looks at the same data.

Python精讲Numpy基础,大牛笔记详细解释

Slicing an array returns a view of it:

Python精讲Numpy基础,大牛笔记详细解释

Python精讲Numpy基础,大牛笔记详细解释

Deep Copy

The copy method makes a complete copy of the array and its data.

Python精讲Numpy基础,大牛笔记详细解释

曼德勃罗

Python精讲Numpy基础,大牛笔记详细解释相关推荐

  1. matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释

    总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...

  2. pythonnumpy详解_Python精讲Numpy基础,大牛笔记详细解释

    以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门 ...

  3. Python数据分析入门--Numpy基础学习笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 NumPy基础 1.NumPy nadarray:多维数组对象 1.1ndarray及其数据类型 1.2NumPy数组 ...

  4. Matplotlib 和numpy 基础学习笔记

    Matplotlib 和 numpy 基础学习笔记 一.numpy.scipy.matplotlib简介及环境安装 NumPy 通常与 SciPy(Scientific Python)和 Matplo ...

  5. 【C++自我精讲】基础系列二 const

    [C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...

  6. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  7. 【C++自我精讲】基础系列三 重载

    [C++自我精讲]基础系列三 重载 0 前言 分二部分:函数重载,操作符重载. 1 函数重载 函数重载:指在同一名字空间中,函数名称相同,参数类型.顺序或数量不同的一类函数,同一函数名的函数能完成不同 ...

  8. Python数据分析入门--NumPy进阶学习笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 NumPy 进阶操作 1.NumPy dtype 层次结构 2.NumPy 高阶数组操作 2.1数组的重塑 2.2数组 ...

  9. python 数据分析5 NumPy 基础:数组和矢量计算

    系列文章:Python 数据分析 文章目录 五.NumPy 基础:数组和矢量计算 1.n维数组对象 ndarray 创建 dtype 数组运算 基本的索引和切片 一维数组 二维数组 布尔型索引 花式索 ...

最新文章

  1. 使用了这个神器,让我的代码bug少了一半
  2. [转]为什么我要用 Node.js? 案例逐一介绍
  3. Lotus Notes中文档查询的研究与实践
  4. 【Unity3D与23种设计模式】模板方法模式(Template Method)
  5. python中的无参装饰器和有参装饰器
  6. 定制安装centos6.4系统 上汽集团线上环境
  7. webstorm中vue项目--运行配制
  8. 互联网晚报 | 12月6日 星期一 | 荣耀线下门店超3万家;鸿蒙系统明年正式登陆欧洲;凯撒旅业与众信旅游终止合并...
  9. Source InSight context 窗口丢失的解决办法
  10. 算法不会,尚能饭否之集合(Set)
  11. 决策树-剪枝算法(二)
  12. layUI table 按条件搜索 结果整个页面刷新
  13. ubuntu .7z解压缩
  14. Java/Spring/SpringBoot利用itextpdf将JPG/PNG/TIF等输出为PDF(解决TIF多页合并问题)
  15. 3.1.4_cardView原理解析
  16. 2021年济南市居民普通门诊统筹定点医疗机构名单
  17. 全网第一 | Flink学习面试灵魂40问答案,文末有福利!
  18. python path包的使用详解
  19. java学习数据类型
  20. 2017全年Java书单整理

热门文章

  1. 从0到1,网上搜不到的企业信息安全搭建全过程,这本书讲透了!
  2. 说说软件开发这个职业
  3. Face Recognition for the Happy House-v3
  4. 网络爬虫-自动推送小说最新章节的小应用--懒惰的追小说者
  5. 马尔科夫决策过程基本概念详解
  6. 干货 | 6 种激活函数核心知识点,请务必掌握!
  7. 手把手教你用python抢票回家过年 !(附代码)
  8. LeetCode:383. Ransom Note
  9. RTX 3090的深度学习环境配置指南:Pytorch、TensorFlow、Keras
  10. 【ICLR 2022】在注意力中重新思考Softmax,多个任务达到SOTA