详细介绍可以看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. MyBatis 最强大的特性之一就是它的动态语句功能

    MyBatis 最强大的特性之一就是它的动态语句功能.如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略 ...

  2. 【BZOJ】1029: [JSOI2007]建筑抢修(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1029 按右端点排序后依次加入,并且每一次看是否能被修筑,如果能就修:否则查找原来修过的,如果原来修过 ...

  3. jQuery编程中的一些核心方法简介

    调用 jQuery 对象的方法很简单: $('h1').remove(); 大多数 jQuery 方法都是像上面这样被调用的,这些方法都位于 $.fn 命名空间内,这些方法称为 jQuery 对象方法 ...

  4. KVC/KVO之KVO

    本章将分为三个部分: KVO是什么 KVO有什么用 KVO例子 KVO是什么 KVO,即NSKeyValueObserving,一个非正式的Protocol,提供一种机制来间接观察其他对象属性的变化. ...

  5. 【转】Native Thread for Win32 B-Threads Synchronization(通俗易懂,非常好)

    http://www.bogotobogo.com/cplusplus/multithreading_win32B.php   Synchronization Between Threads In t ...

  6. 开发中常用Fel的写法

    直接看代码吧: package javademo; import java.util.HashMap;import java.util.Map; import com.greenpineyu.fel. ...

  7. STM32 PWM的输出与Keil软件仿真

    导读:PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值). PWM控制技术在逆变电路中应用最广,应用 ...

  8. IOS 预览word文档的集中方式

    在iPhone中可以很方便的预览文档文件,如:pdf.word等等,这篇文章将以PDF为例.介绍三种预览PDF的方式,又分别从本地pdf文档和网络上的pdf文档进行对比. 预览本地PDF文档: 1.使 ...

  9. JSP指令与动作元素

    include指令 语法:<%@ include file="URL" %> 其中,URL表示一个要包含的页面. include动作(是一个动作标签) 语法:<j ...

  10. 第4章 Vim编辑器与Shell命令脚本

    章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...