numpy基本方法

在学习python的时候常常需要numpy这个库,每次都是用一个查一个,这个,终于见到一个完整的总结了http://blog.csdn.net/blog_empire/article/details/39298557

一、数组方法

创建数组:arange()创建一维数组;array()创建一维或多维数组,其参数是类似于数组的对象,如列表等

读取数组元素:如a[0],a[0,0]

数组变形:如b=a.reshape(2,3,4)将得到原数组变为2*3*4的三维数组后的数组;或是a.shape=(2,3,4)或a.resize(2,3,4)直接改变数组a的形状

数组组合:水平组合hstack((a,b))或concatenate((a,b),axis=1);垂直组合vstack((a,b))或concatenate((a,b),axis=0);深度组合dstack((a,b))

数组分割(与数组组合相反):分别有hsplit,vsplit,dsplit,split(split与concatenate相对应)

将np数组变为py列表:a.tolist()

数组排序(小到大):列排列np.msort(a),行排列np.sort(a),np.argsort(a)排序后返回下标

复数排序:np.sort_complex(a)按先实部后虚部排序

数组的插入:np.searchsorted(a,b)将b插入原有序数组a,并返回插入元素的索引值

类型转换:如a.astype(int),np的数据类型比py丰富,且每种类型都有转换方法

条件查找,返回满足条件的数组元素的索引值:np.where(条件)

条件查找,返回下标:np.argwhere(条件)

条件查找,返回满足条件的数组元素:np.extract([条件],a)

根据b中元素作为索引,查找a中对应元素:np.take(a,b)一维

数组中最小最大元素的索引:np.argmin(a),np.argmax(a)

多个数组的对应位置上元素大小的比较:np.maximum(a,b,c,…..)返回每个索引位置上的最大值,np.minimum(…….)相反

将a中元素都置为b:a.fill(b)

每个数组元素的指数:np.exp(a)

生成等差行向量:如np.linspace(1,6,10)则得到1到6之间的均匀分布,总共返回10个数

求余:np.mod(a,n)相当于a%n,np.fmod(a,n)仍为求余且余数的正负由a决定

计算平均值:np.mean(a)

计算加权平均值:np.average(a,b),其中b是权重

计算数组的极差:np.pth(a)=max(a)-min(a)

计算方差(总体方差):np.var(a)

标准差:np.std(a)

算术平方根,a为浮点数类型:np.sqrt(a)

对数:np.log(a)

点积(计算两个数组的线性组合):np.dot(a,b),即得到a*b(一维上是对应元素相乘,多维可将a*b视为矩阵乘法

修剪数组,将数组中小于x的数均换为x,大于y的数均换为y:a.clip(x,y)

所有数组元素乘积:a.prod()

数组元素的累积乘积:a.cumprod()

数组元素的符号:np.sign(a),返回数组中各元素的正负符号,用1和-1表示

数组元素分类:np.piecewise(a,[条件],[返回值]),分段给定取值,根据判断条件给元素分类,并返回设定的返回值。

判断两数组是否相等: np.array_equal(a,b)

判断数组元素是否为实数: np.isreal(a)

去除数组中首尾为0的元素:np.trim_zeros(a)

对浮点数取整,但不改变浮点数类型:np.rint(a)

二、数组属性

1.获取数组每一维度的大小:a.shape

2.获取数组维度:a.ndim

3.元素个数:a.size

4.数组元素在内存中的字节数:a.itemsize

5.数组字节数:a.nbytes==a.size*a.itemsize

6.数组元素覆盖:a.flat=1,则a中数组元素都被1覆盖

7.数组转置:a.T

三、矩阵方法

创建矩阵:np.mat(‘…’)通过字符串格式创建,np.mat(a)通过数组创建,也可用matrix或bmat函数创建

创建复合矩阵:np.bmat(‘A B’,’AB’),用A和B创建复合矩阵AB(字符串格式)

创建n*n维单位矩阵:np.eye(n)

矩阵的转置:A.T

矩阵的逆矩阵:A.I

计算协方差矩阵:np.cov(x),np.cov(x,y)

计算矩阵的迹(对角线元素和):a.trace()

相关系数:np.corrcoef(x,y)

给出对角线元素:a.diagonal()

四、多项式

多项式拟合:poly= np.polyfit(x,a,n),拟合点集a得到n级多项式,其中x为横轴长度,返回多项式的系数

多项式求导函数:np.polyder(poly),返回导函数的系数

得到多项式的n阶导函数:多项式.deriv(m = n)

多项式求根:np.roots(poly)

多项式在某点上的值:np.polyval(poly,x[n]),返回poly多项式在横轴点上x[n]上的值

两个多项式做差运算: np.polysub(a,b)

四、线性代数

估计线性模型中的系数:a=np.linalg.lstsq(x,b),有b=a*x

求方阵的逆矩阵:np.linalg.inv(A)

求广义逆矩阵:np.linalg.pinv(A)

求矩阵的行列式:np.linalg.det(A)

解形如AX=b的线性方程组:np.linalg.solve(A,b)

求矩阵的特征值:np.linalg.eigvals(A)

求特征值和特征向量:np.linalg.eig(A)

Svd分解:np.linalg.svd(A)

五、概率分布

产生二项分布的随机数:np.random.binomial(n,p,size=…),其中n,p,size分别是每轮试验次数、概率、轮数

产生超几何分布随机数:np.random.hypergeometric(n1,n2,n,size=…),其中参数意义分别是物件1总量、物件2总量、每次采样数、试验次数

产生N个正态分布的随机数:np.random.normal(均值,标准差,N)

产生N个对数正态分布的随机数:np.random.lognormal(mean,sigma,N)

Matpoltlib简单绘图方法

引入简单绘图的包import matplotlib.pyplot as plt,最后用plt.show()显示图像

基本画图方法:plt.plot(x,y),plt.xlabel(‘x’),plt.ylabel(‘y’),plt.title(‘…’)

子图:plt.subplot(abc),其中abc分别表示子图行数、列数、序号

创建绘图组件的顶层容器:fig = plt.figure()

添加子图:ax = fig.add_subplot(abc)

设置横轴上的主定位器:ax.xaxis.set_major_locator(…)

绘制方图:plt.hist(a,b),a为长方形的左横坐标值,b为柱高

绘制散点图:plt.scatter(x,y,c = ‘..’,s = ..),c表示颜色,s表示大小

添加网格线:plt.grid(True)

添加注释:如ax.annotate(‘x‘, xy=xpoint, textcoords=‘offsetpoints‘,xytext=(-50, 30), arrowprops=dict(arrowstyle="->"))

增加图例:如plt.legend(loc=‘best‘, fancybox=True)

对坐标取对数:横坐标plt.semilogx(),纵坐标plt.semilogy(),横纵同时plt.loglog()

时间: 2024-10-17 12:57:45

numpy基本方法的相关文章

Windows系统下Python与NumPy安装方法

Windows系统下Python与NumPy安装方法 Windows下Python的某些第三方包安装步骤实在是太麻烦了(这里主要以NumPy为例,目前只有遇到安装它的时候出现了很多问题),晚上花了好几个小时才把NumPy科学计算包安装好,在这里描述下安装过程,避免大家走没有必要的弯路. 1,安装Python 首先,运行下载的MSI安装包,选择安装组件时,确保勾上了所有的组件. 特别要注意选上pip和Add python.exe to Path,然后多次点击Next即可完成安装. Python解释

备忘录 - numpy基本方法总结

一.数组方法 创建数组:arange()创建一维数组:array()创建一维或多维数组,其参数是类似于数组的对象,如列表等 创建数组:np.zeros((2,3)),或者np.ones((2,3)),参数是一个元组分别表示行数和列数 对应元素相乘,a * b,得到一个新的矩阵 数学上定义的矩阵乘法 np.dot(a, b).如果形状不匹配会报错,但是如果a,b都是一维数组,则返回向量内积 读取数组元素:如a[0],a[0,0] 数组变形:如b=a.reshape(2,3,4)将得到原数组变为2*

numpy使用方法

numpy是python的核心库,是python机器学习编程的最底层的库,不能不会. NumPy的详细教程 NumPy http://numpy.readthedocs.org/

numpy delete方法

import numpy as np lines = np.loadtxt(r'./test.txt',delimiter=',',dtype=int) print(lines) lines_copy = lines lines_rest = np.delete(lines,0,0) #第一个参数:要处理的矩阵,第二个参数,处理的位置,第三个参数,0表示按照行删除,1表示按照列删除 #返回值为,删除后的剩余元素构成的矩阵 print('copy') print(lines_copy) print

Numpy的介绍与基本使用方法

1.什么是Numpy numpy官方文档:https://docs.scipy.org/doc/numpy/reference/?v=20190307135750 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算.NumPy这个词来源于两个单词-- Numerical和Python. ? 它是 Python 生态系统中数据分析.机器学习和科学计算的主力军.它极大地简化了向量和矩阵的操作处理.Python 数据科学相关的一些主要软件包(如 scikit-learn.SciPy.

python numpy 基础教程

Numpy简介 1.Numpy是什么 非常easy.Numpy是Python的一个科学计算的库.提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.事实上,list已经提供了类似于矩阵的表示形式,只是numpy为我们提供了很多其它的函数. 假设接触过matlab.scilab.那么numpy非常好入手. 在下面的代码演示样例中.总是先导入了numpy:(通用做法import numpu as np 简单输入) >>> import numpy as np >&g

Windos7(32位)安装Python2.7,再加上numpy、scipy、Matplotlib、Ipython、pandas

按照此顺序安装吧~ 1. Python2.7: 地址:https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi 选择32位的软件哦,名字为Windows x86 MSI installer. 安装方法:直接运行,要注意安装地址选择C盘 2. numpy: 地址:http://sourceforge.net/projects/numpy/files/NumPy/ 安装方法:直接运行,要注意一下是否选择对python2.7的地址哦 3. s

Yosemite? 下升级 Python3.4 安装 numpy

由于新的项目需要python3.4,而Yosemite‎ 下的python 版本只有2.7.而网上安装python3.4 ,numpy 的方法不好用,且写一篇随笔记录. 1.去https://www.python.org/downloads/   下载python3.4,安装 2.http://jingyan.baidu.com/article/27fa7326e4809646f8271fc7.html 按照步骤完成python升级 3.在命令行中运行 curl bootstrap.pypa.i

在PyCharm中导入Numpy和Pygame模块 (win8.1)

我用的是anaconda安装python3.6 已经在终端 pip install numpy 但是在pycharm运行程序出现错误:ImportError: No module named numpy 解决方法: 首先在终端输入 $which python3.6 获得安装路径后. 然后在pycharm的preferences>>Project Interpreter 里加入python3.6的安装路径 1.在设置里面Project Interpreter的旁边有个加号 2.点击加号进去后有一