Ndaray对象
1、内部组成:一个指向数据的指针;存放数据的格子;表示数据各维度大小元组;一个跨度元组。
2、创建:numpy.array(numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object:数组或嵌套的数列
dtype:数组元素的数据类型,可选
copy:对象是否需要复制,可选
order:创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok:默认返回一个与基类类型一致的数组
ndmin:指定生成数组的最小维度
创建数组
1、创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:
numpy.empty(shape, dtype = float, order = 'C')
注:数组元素为随机值
2、创建指定大小的数组,数组元素以0填充:
numpy.zeros(shape, dtype = float, order = 'C')
3、创建指定形状的数组,数组元素以 1 来填充:
numpy.ones(shape, dtype = None, order = 'C')
从已有的数组创建数组
1、numpy.asarray
numpy.asarray(a, dtype = None, order = None)
2、numpy.frombuffer
numpy.frombuffer 用于实现动态数组。
numpy.frombuffer 接受 buffer 输入参数,以流的形式读入转化成 ndarray 对象。
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
注意:buffer 是字符串的时候,Python3 默认 str 是 Unicode 类型,所以要转成 bytestring 在原 str 前加上 b。
buffer:可以是任意对象,会以流的形式读入。
dtype:返回数组的数据类型,可选
count:读取的数据数量,默认为-1,读取所有数据。
offset:读取的起始位置,默认为0。
3、numpy.fromiter:方法从可迭代对象中建立 ndarray 对象,返回一维数组。
numpy.fromiter(iterable, dtype, count=-1)
iterable可迭代对象
dtype返回数组的数据类型
count读取的数据数量,默认为-1,读取所有数据
广播
numpy.tile()
所有输入的元素都向其中长度最长的元素看齐,不足的部分通常加1补充
输出数组形状是输入数组形状维度的最大值