详细介绍可以看Numpy帮助,也有很多资料,此文仅是一个简述性质的集成文章

1.简介

Numpy是Python的一个扩展包,语法和Matlab有很多相似之处。它支持高维数组和矩阵运算,也提供了许多数组和矩阵运算的函数。另外,它在数组和矩阵运算方面速度很快,效率很高。对数组的运算都可以算在每个元素上。如,A*2(A为3*3的矩阵),结果是A中的9个元素都乘2

1.1 索引与切片

数组索引一般用 [] 来实现,一维arratName[行],二维aName[行,列],三维[页,行,列],可以用冒号:代替某一维度,表示取该维度所有元素。如a[[1,2],[3,4]],a[:,1]为[2,4]

布尔型索引  布尔型数组的长度必须和被索引的轴长度一致

花式索引  利用整数数组进行索引

print a[[4, 3, 0, 6]] # 打印a[4]、a[3]、a[0]和a[6]。

切片如下: a为3*3*3矩阵  b = a[1, :,:]

1.2 复制与镜像

用.copy()方法复制数组,= 直接赋值。赋值只能产生镜像,仅是给变量增加一个名称;复制可以生成另一个变量,两个变量相互独立。

1.3 数组转置和轴对换

转置为 arrayName.T

矩阵相乘 np.dot(array1,array2)

高维轴对换 .transpose  或  .swapaxes

1.4 按条件逻辑逻辑运算

如:a=np.arange(9).reshap(3,3)     print(a>5), print(a[a>5])。第一个输出是True和False的矩阵,第二个输出6,7,8,9

因此,可以按条件选择数组元素

np.where的使用   语法:np.where(条件,表达式1,表达式2)条件为真执行表达式1,条件为假执行表达式2.

1.5 排序

.sort()   0为按列排序,1为按行排序

2.常用函数介绍

构造函数

说明

array

将输入数据(列表、元组、数组等)转换为ndarray

arange

类似于range,返回一个ndarray

ones

根据指定大小和dtype创建一个全1数组

zeros

根据指定大小和dtype创建一个全0数组

empty

创建数组,只分配内存空间不填充任何值

eye,  identity

创建单位矩阵

运算函数(一元)

说明

abs,fabs

计算绝对值,计算复数的模。对于非复数,用fabs更快

sqrt

开方

sqare

平方  相当于a**2

exp

计算各元素的e^x

log, log10, log2, log(1+x)

自然对数,底数为10,底数为2和log(1+x)

ceil

向上取整

floor

向下取整

sign

计算各元素的正负号

rint

四舍五入到整数,保留dtype

modf

将整数部分和小数部分以两个独立数组返回

cos,sin,tan

三角函数

arccos,arcsin,arctan

反三角

运算函数(二元)

说明

add

将数组中对应的元素相加

subtract

从第一个数组中减去第二个数组中的元素

multiply

元素相乘

Divide, floor_divide

相除,或向下取整除法

power

Power(A,B) 计算A^B

Max  fmax

计算最大值,fmax忽略NaN

Min   fmin

计算最小值,fmin忽略NaN

mod

求模

copysign

将第二数组中的符号复制给第一个数组元素

greater,greater_equal

less,less_equal,equal,

not_equal

执行元素级的比较,最终产生布尔型数组

Logical_and, logical_or

Logical_xor

执行元素级的真值逻辑运算,产生布尔型数组

数学和统计方法

说明

sum

对数组中全部或某轴向的元素求和,0为按列,1为按行

mean

求平均

std, var

标准差和方差

min, max

最小值和最大值

argmin,argmax

最大值和最小值的索引

cumsum

所有元素累计和

cumprod

所有元素累计积

去重、集合运算函数

说明

unique(x)

计算X中的唯一元素,并返回有序结果

intersect1d(x,y)

计算x和y中的公共元素,并返回有序结果

union1d(x,y)

计算x和y的并集,返回有序结果

in1d(x,y)

得到一个描述x的元素是否包含于y的布尔型数组

setdiff1d(x,y)

集合的差,即元素在X中且不在Y中

setxor1d(x,y)

集合的异或,即存在一个数组中,另外一个数组中没有

常用的np.linalg函数

说明

diag

以一位数组的形式返回方阵的对角线

dot

矩阵乘法

trace

计算对角线元素的和

det

计算矩阵行列式

eig

计算方阵的特征值和特征向量

inv

计算方阵的逆

pinv

计算矩阵的Moore-Penrose伪逆

qr

计算QR分解

svd

计算奇异值分解

solve

解线性方程Ax=b,A为一个方阵

lstsq

计算Ax=b的最小二乘解

随机数生成 函数

说明

seed

确定随机数生成器的种子

permutation

返回一个序列的随机排列

shuffle

对一个序列随机乱序

rand

产生均匀分布的样本值

randint

从给定的上下限范围内随机选取整数

randn

产生正态分布(平均值为0,标准差为1)

binomial

产生二项分布的样本值

normal

产生正态(高斯)分布的样本值

beta

产生Beta分布的样本值

chisquare

产生卡方分布的样本值

gamma

产生Gramma分布的样本值

uniform

产生在[0,1]中均匀分布的样本值

Numpy包简单介绍的更多相关文章

  1. python numpy 模块简单介绍

    用python自带的list去处理数组效率很低, numpy就诞生了, 它提供了ndarry对象,N-dimensional object, 是存储单一数据类型的多维数组,即所有的元素都是同一种类型. ...

  2. Java学习记录-Jdk包简单介绍

    java.applet Java语言编写的一些小应用程序 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. 关于如何在其他包中写controller和简单介绍@SpringBootApplication

    本文参考博客:https://blog.csdn.net/u013473691/article/details/52353923 关于@Configuration和@Bean参考博客:https:// ...

  5. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  6. python之pandas简单介绍及使用(一)

    python之pandas简单介绍及使用(一) 一. Pandas简介1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据 ...

  7. Python常用的库简单介绍一下

    Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

  8. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  9. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

随机推荐

  1. ThinkPHP整合短信通知功能

    1.使用的“云之讯”云通讯的接口,注册,登录. 地址:http://www.ucpaas.com/ 2. 3. 4. 5.按规范与实际需求,填写相应的信息,注意要审核通过! ------------- ...

  2. 终端利用ssh登录远程服务器

    第一步: 安装ssh:yum  install ssh 第二步: 启动ssh服务:service sshd start 第三步: 连接远程服务器: ssh -p 端口号 用户名@ip地址      然 ...

  3. Angular2 组件与模板 -- 输入和输出属性

    Input and Output properties 输入属性是一个带有@Input 装饰器的可设置属性,当它通过属性绑定的形式被绑定时,值会"流入"到这个属性. 输出属性是一个 ...

  4. Pokémon Go呼应设计:让全世界玩家疯狂沉迷

    引言:什么样的呼应设计会让移动游戏玩家沉迷?那必须为玩家构建一个属于玩家本人或者被玩家认可的虚拟环境.或者说是被玩家认可的虚拟世界.在移动游戏时代.想要做到这一点并不easy.但Pokémon Go却 ...

  5. 剑指 offer set 24 扑克牌的顺子

    题目 从扑克牌中任意抽取出 5 张牌, 判断是不是顺子, 并且大小王可以看成任意的数字 思路 1. 把大小王当做 0 插入到数组中, 然后对数组排序 2. 统计相邻两个数之间的空隙数, 若空隙数大于 ...

  6. Android 网卡地址Mac Wifi文件

    1./system/etc/firmware/ti-connectivity/wl1271-nvs.bin的文件 2./data/etc/wifi/fw文件 3./data/nvram/APCFG/A ...

  7. C语言二维数组

    上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组.在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以确定它在数组中的位置.本节只介绍二维数 ...

  8. 在 Linux 下使用任务管理器

    有很多 Linux 初学者经常问起的问题,“Linux 有任务管理器吗?”,“怎样在 Linux 上打开任务管理器呢?” 来自 Windows 的用户都知道任务管理器非常有用.你可以在 Windows ...

  9. Git 安装与使用

    http://blog.csdn.net/lishuo_os_ds/article/details/8078475#sec-1.8.2 http://blog.csdn.net/showhilllee ...

  10. HDU 5306 Gorgeous Sequence[线段树区间最值操作]

    Gorgeous Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...