Numpy在python中属于非常常用的包,无论是机器学习搭配大熊猫,还是数据可视化搭配pylab都是很正常的搭配。
numpy的官方中文文档:numpy中文
NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:
-
<李>功能强大的N维数组对象,李>
<李>精密广播功能函数;李>
<李>集成C/c++和Fortran代码的工具,李>
<李>强大的线性代数,傅立叶变换和随机数功能。李>
更简单的说,Numpy是Python的Matlab数学计算包。使用它,Python可以更简单便捷地对矩阵向量进行计算。
一般来说,我们引用该包并将其简称为np:
进口numpy np
<强>
强>
<强> ndarray的创建强>
Numpy中最重要的数据类型就是:N维数组对象ndarray。它是一系列同类型数据的集合,以0下标为开始进行集合中元素的索引。
它具有以下两个特点:
-
<李> ndarray对象是用于存放同类型元素的多维数组;李>
<李> ndarray中的每个元素在内存中都有相同存储大小的区域。李>
创建一个ndarray对象:
np。阵列(对象、dtype=没有复制=True,订单=None, subok=False, ndmin=0)
参数说明:
名称 描述 对象 数组或嵌套的数列 dtype 数组元素的数据类型,可选 复制 对象是否需要复制,可选 订单 创建数组的样式C为行方向,F为列方向,一个为任意方向(默认) subok 默认返回一个与基类类型一致的数组 ndmin 指定生成数组的最小维度
一般而言,并不需要记住这么多可选参数:
进口numpy np if __name__==癬_main__”: x=np。阵列([1,2,3]) 打印(x)
运行该脚本:
yngzmiao@yngzmiao-virtual-machine: ~/测试python numpy_test美元。py
引用>
(1 2 3)
当然,除了之前的数组方法创建ndarray对象之外,还提供了另外的几种创建方式:
np。空(形状、dtype=浮动顺序=' C ') #指定形状的未初始化数组 np。0(形状、dtype=浮动顺序=' C ') #指定形状的全0数组 np。的(形状、dtype=没有订单=' C ') #指定形状的全1数组 np。不等(=0开始、停止、步骤=1,dtype) #从起始值到终止值(不包含)时,按步长从范围内创建数组 np。linspace(启动、停止、num=50,端点=True, retstep=False, dtype=None) #从起始值到终止值(默认包含)创建一个等差数组的一维数组 np。logspace(启动、停止、num=50,端点=True,基地=10.0,dtype=None) #从起始值到终止值(默认包含)创建一个等比数组的一维数组 >之前Numpy也提供了从python其他类型直接转换成ndarray的方式:
np。asarray (dtype=None,订单=None) #列表形式 np.frombuffer(缓冲区,dtype=浮动,数=1,抵消=0)#以流的形式读入 np.fromiter (iterable, dtype数=1)#从可迭代对象中,以迭代器的形式读入例如:
进口numpy np if __name__==癬_main__”:=[[1,2,3],[4,5]] b=癏ello World” c=iter(范围(5)) x=np.asarray (a) y=np.frombuffer (b, dtype=' S1 ') z=np.fromiter (c, dtype=浮动) 打印(x) 打印(y) 打印(z)运行该脚本:
yngzmiao@yngzmiao-virtual-machine: ~/测试python numpy_test美元。py
引用>
(列表([1,2,3])列表((4、5))]
[' H ' ' e ' ' l ' ' l ' ' o ' ' ' ' W ' ' o ' ' r ' ' l ' ' d ']
[0。1. 2. 3.4.]
<强> ndarray的数据结构强>
Numpy支持很多的数据类型、下面就简单地列举一下:
名称 描述 bool_ 布尔型数据类型(真实或虚假者) int_/int8 int16/int32/int64 有符号整数 uint8/uint16 uint32/uint64 无符号整数 float_/float16 float32/float64 浮点数 complex_/complex64/complex128 复数
Python之Numpy的超实用基础详细教程