python——Numpy库

Numpy库

英文官方文档:https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html

Numpy库中的数组对象:N维数组类型:ndarray

1)      ndarray的作用:

  a)      数组对象性可以去掉元素间运算所需的循环,使一维向量更像单个数据。

  b)     设置专门的数组对象,经过优化,可以提升这类应用的运算速度。

2)      ndarray是一个多维数组对象,有两部分组成:

  实际的数据 和 描述这些数据的元数据(数据维度、数据类型等)

ndarray数组一般要求所有元素类型相同(同质),数组下标从零开始

3)      ndarray实例对象的属性:

  .ndim:秩,即轴的数量或维度的数量

  .shape:ndarray对象的尺度,对于矩阵,n行m列

  .size:ndarray对象元素的个数,相当于.shape中的n*m

  .dtype:ndarray对象的元素类型

  .itemsize:ndarray对象中的每个元素的大小,以字节为单位

4)        ndarray的元素类型:


数据类型


说明


bool


布尔类型,True or False


intc


与C语言中的int类型一致Int32或int6


intp


用于索引的整数,与C语言中的ssize_t一致,int2或int64


int8


8字节长度的整数,取值[-128,127]


int16/int32/int64


类似int8


uint8


8位无符正数,取值[0,255]


uint16/uint32/uint64


类似uint8


float16


16位半精度浮点数:1位符号位,5位指数(10^指数),10位尾数


float32


类似float16;1为符号位,8位指数,23位尾数


float64


类似float16;1为符号位,11位指数,52位尾数


complex64


复数类型,实部和虚部都是32位浮点数


complex128


复数类型,实部和虚部都是64位浮点数

对比:python语法只支持整数,浮点数和复数3种类型

而科学计算对数据的类型,精度都有较高要求

注意:非同质的ndarray无法有效发挥Numpy优势,尽量避免使用

5)      ndarray数组的创建方法:

  a)      从python中的列表、元组等类型创建ndarray数组

    x=Numpy.array(list/tuple)

    x=Numpy.array(list/tuple, dtype=np.int64)

    不指定dtype,Numpy将根据数据情况关联一个dtype

  b)     使用Numpy中函数创建ndarray数组,如:arange,ones,zeros等


函数


说明


Numpy.arange(n)


类似range()函数,返回ndarray类型,元素从0到n-1


Numpy.ones(shape)


根据shape生成一个全一数组,shape是元组类型


Numpy.zeros(shape)


根据shape生成一个全零数组,shape是元组类型


Numpy.full(shape,val)


根据shape生成一个数组,每个元素值都是val


Numpy.eye(n)


生成n阶单位阵


Numpy.ones_like(a)


根据数组a的形状生成一个全1数组


Numpy.zeros_like(a)


根据数组a的形状生成一个全0数组


Numpy.full_like(a,val)


根据数组a的形状生成一个数组,每个元素值都是val


Numpy.linspace()


根据起止数据等间距地填充数据,形成数组


Numpy.concatenate()


将两个或多个数组合并成一个新的数组

  c)      从字节流(raw bytes )中创建ndarray数组

  d)     从文件中读取特定格式,创建ndarray数组

6)ndarray数组的变换

  a)  ndarray数组的维度变换(例如x=Numpy.eye(n))


函数


说明


x.reshape(shape)


不改变数组元素,返回一个shape形状的数组,原数组不变


x.resize(shape)


与.reshape()功能一致,但修改原数组


x.swapaxes(ax1,ax2)


将数组n个维度中的两个维度进行调换


x.flatten()


对数组进行降维,返回折叠后的一维数组,原数组不变

  b)     ndarray数组的其他变换


函数


说明


x.astype(new_type)


类型变换:创建一个新数组(原始数据的一个拷贝)即使两个数据类型一致


x.tolist()


向列表变换

7)ndarray数组的操作:

数组的索引:获取数组中特定元素。例如

数组的切片:获取数组元素子集的过程。

a)  一维数组的索引和切片:与python的列表类似

b)多维数组的索引:

  每个维度的索引值用逗号分隔,选取一个维度用 :(冒号),每个维度切片方法与一维数组相同。

  例如:

8)ndarray数组的运算:

数组与标量之间的运算:

数组与标量之间的运算作用于数组的每一个元素

                                          Numpy的一元函数:


函数


说明


Numpy.abs(x)/.fabs(x)


计算数组中各元素的绝对值


Numpy.sqrt()


计算数组中各元素的平方根


Numpy.square(x)


计算数组中各元素的平方


Numpy.log(x)/.log10(x)/log2(x)


计算数组各元素自然对数、10底对数、2底对数


Numpy.ceil(x)/.floor(x)


计算数组各元素的ceilling值或floor的值


Numpy.rint(x)


计算数组各元素的四舍五入值


Numpy.modf(x)


将数组各元素的小数和整数部分以两个独立数组形式返回


Numpy.cos(x)/.cosh(x)

Numpy.sin(x)/.sinh(x)

Numpy.tan(x)/.tanh(x)


计算数组各元素的普通型和双曲型三角函数


Numpy.sign(x)


计算数组各元素的符号值


Numpy.exp(x)


计算数组各元素的指数值

                                          Numpy的二元函数:


函数


说明



-  *  /  **


两数组各元素进行对应运算


Numpy.maximum(x)/.fmax(x)

Numpy.minimum(x)/.fmin()


元素级的最值


Numpy.mod(x,y)


元素级的模运算


Numpy.copysign(x,y)


将数组y中各元素的符号赋值给数组x对应元素


>  <  >= 
==  !=


算术比较运算符,产生布尔类型

原文地址:https://www.cnblogs.com/z-bear/p/9460966.html

时间: 2024-10-05 05:00:46

python——Numpy库的相关文章

python numpy库学习

1.numpy.floor(a) 返回大于元素的最小整数 a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0]) np.floor(a) array([-2., -2., -1., 0., 1., 1., 2.]) 2.np.linspace(0,20,100)返回0到20之间的100个点的数组 3.hist,bin_edges=np.histogram(a, bins)注意这个函数产生的不一定正好所有的hist相加的和为1,因为bins的组距不

python,numpy库学习ndarray,narray

我将所有的常用numpy操作都写在ipython notebook中, 方便大家参考

【转】Python numpy库的nonzero函数用法

当使用布尔数组直接作为下标对象或者元组下标对象中有布尔数组时,都相当于用nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算. nonzeros(a) 返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标 在对应轴上的值.例如对于一维布尔数组b1,nonzero(b1)所得到的是一个长度为1的元组,它表示b1[0]和b1[2]的值不为 0(False). >>> b1 =

Python 机器学习库 NumPy 教程

0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数.如果接触过matlab.scilab,那么numpy很好入手. 1 安装 pip install numpy 在NumPy中,维度称之为axis(复数是axes),维度的数量称之为rank. (通用做法import numpu as np 简单输入) 2 多维数组 NumPy

用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)

在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将在此基础上再引入成交量效果图,并结合量价理论,给出并验证一些交易策略. 1 成交量对量化分析的意义 美国的股市分析家葛兰碧(Joe Granville)在他所著的<股票市场指标>一书里提出著名的“量价理论”.“量价理论”的核心思想是,任何对股价的分析,如果离开了对成交量的分析,都将是无本之木,无水

Python Numpy,学Python不得不削的矩形计算库

矩阵计算库numpy库的使用是sklearn库和opencv库的基础,主要用于矩阵的计算.Numpy 的主要用途是以数组的形式进行数据操作.机器学习中大多数操作都是数学操作,而 Numpy 使这些操作变得简单 1.创建Numpy数组对象Numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符.包括 np.bool_ ,np.int32,np.float32等. ndarray.ndim 秩,即轴的数量或维度的数量ndarray.shape 数组的维度,对于矩阵,n行m列ndarr

python数据分析实战-第3章-numpy库

第3章 NumPy库 32 3.1 NumPy简史 32 3.2 NumPy安装 32 3.3 ndarray:NumPy库的心脏 33 1 import numpy as np 1 a = np.array([1, 2, 3]) 1 a array([1, 2, 3]) 1 type(a), a.dtype, a.ndim, a.size, a.shape, a.itemsize (numpy.ndarray, dtype('int64'), 1, 3, (3,), 8) 1 b = np.a

数据分析之Numpy库入门

1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列表:数据类型可以不同,如:[3.1413,'pi',3.1404,[3.1402,2.34],'3.2376'] 数组:数据类型相同 .如[3.14,34.34,3433.3,343.23] 二维数据:二维数据由多个一维数据构成,是一维数据的集合形式!表格是典型的二维数据! 注意:表格的表头,可以是

Python常用库

平时会用到的一些python库,会不定时更新,目前主要是做逆向时会用到的库 首先是python库的安装,首先从网上得到库的压缩包,解压缩,一般是放到python\lib目录下 例如我本人的路径C:\Python27\Lib,再打开命令提示符, cd C:\Python27\Lib\chardet-2.3.0      ///这里以chardet库为例 python setup.py install 最后在python的shell中import chardet 检验是否安装了 1.chardet库