NumPy入门之ndarray数组对象(一)

Numpy是一个开源的python科学计算基础库。(底层实现由c语言完成)

  • ndarray(n维数组对象)
  • 整合c/c++/Fortran
  • 线性代数、傅里叶交换、随机数生成
    ndarray便于计算线性代数的矩阵

ndarray

  • 由两部分构成:实际的数据、描述这些数据的元数据(数据维度、数据类型等)
  • 要求所有的元素类型相同(同质),数组下标从0开始
  • 轴(axis):保护数据的维度,数组最外围的维度axis=0

* ndarray对象的属性

属性 说明
.ndim 秩,即维度的数量
.shape ndarray对象的尺度,对于矩阵,n行m列
.size 对象元素的个数,相当于.shape中的n*m的值
.dtype 对象的元素类型
.itemsize 对象元素的大小,以字节为单位

数组创建和交换

x=np.array(list/tuple [,dtype=np.int32] ) 若不指定dtype类型,Numpy则根据数据情况关联一个dtype类型

函数 说明
np.arange(n) 类似range()函数,返回ndarray类型,元素从0到n-1
np.ones(shape) 根据shape生成一个全1的数组。shape是元组类型
np.zeros(shape) (全0)
np.full(shape, val) (值全是 val)
np.eye(n) 创建一个正方的n*n单位矩阵,对角线为1,其余为0
np.ones_like(a) 根据数组a的形状生成一个全1数组
np.zeros_like(a) 根据数组a的形状生成一个全0数组
np.full_like(a, val) 根据数组a的形状生成一个全val的数组
np.linspace() 根据起止数据等间距地填充数据,形成数组
np.concatenate() 将两个或多个数组合并成一个新的数组

维度变换

函数 说明
.reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape) .reshape()功能一致,但修改原数组
.swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
.flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变

类型变换

.astype(new_type) 返回一个新的数组(类型为new_type)

a = np.ones((2, 5), dtype=np.int)
b = a.astype(np.float)

ndarreay数组向列表转换

.tolist()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容