–这里我们主要是通过看外中括号的数判断,当然还有别的方法,会在多维数组(ndarray)对象的属性中讲到的!
arr3 = [[[1,2,3],[1,2,3]],[[1,2,3],[1,2,3]]]
调用numpy中方法时,注意一定一定要导库!
array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
代码如下(示例):
object:接收一个数组对象
dtype:数据类型,你可以设置
copy:对象是否要复制
order: {‘C’, ‘F’},可选。输出应该以行为主(c风格),还是在内存中以列为主(fortran风格)顺序
subok:默认返回一个与基类类型一致的数组
ndmin:设置当前最小的维度
arange([start,] stop[, step,], dtype=None)
类似于内置的range函数,用于创建数组
arange 中取值左闭右开
代码如下(示例):
start:开始值,可以省略
stop:结尾值,取不到
step:间隔 取值
dtype:数据类型,你可以设置
linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
axis=0):
在指定的间隔内返回均匀间隔的数字。
代码如下(示例):
start:开始值
stop: 结尾值
num: 均匀取的个数,50,表示取50个
endpoint:端点,可选。如果为True, ’ stop ‘是最后一个样本就可以取。否则,反之
retstep: bool,可选。如果为True,返回(’ samples ', ’ step ‘),其中’ step '是间距之间的样本
dtype:数据类型,你可以设置
axis:0表示行,1表示列
logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,
axis=0):
创建指定个数的等比数列。
代码如下(示例):
start:开始值
stop: 结尾值
num: 均匀取的个数,50,表示取50个
base: 这个基数的等比数列
endpoint:端点,可选。如果为True, ’ stop '是最后一个样本就可以取。否则,反之
dtype:数据类型,你可以设置
axis:0表示行,1表示列
eye(N, M=None, k=0, dtype=float, order=‘C’)
可创建正方形的N*N单位矩阵,np.eye可以创建矩形矩阵。
代码如下(示例):
N:输出的行数
M:输出的列数
K:对角线的索引,默认为0。0时就是对角线,值大于0时对角线往上走,值小于0时对角线往下走
dtype:数据类型,你可以设置
order: {‘C’, ‘F’},可选。输出应该以行为主(c风格),还是在内存中以列为主(fortran风格)顺序
identity(n, dtype=None)
可创建正方形的N*N单位矩阵,np.identity 只能 创建方形矩阵,
代码如下(示例):
n:几行几列
dtype:数据类型,你可以设置
zeros(shape, dtype=None, order=‘C’)
zeros_like(a, dtype=None, order=‘K’, subok=True, shape=None)
创建全0数组
zeros_like以另一个数组为参考,根据其形状和dtype创建全0数组
代码如下(示例):
shape:一个数组
dtype:数据类型,你可以设置
order: {‘C’, ‘F’},可选。输出应该以行为主(c风格),还是在内存中以列为主(fortran风格)顺序
a:接收另一个数组,以它为参考
ones(shape, dtype=None, order=‘C’)
ones_like(a, dtype=None, order=‘K’, subok=True, shape=None)
创建全1数组
ones_like以另一个数组为参考,根据其形状和dtype创建全1数组
代码如下(示例):
shape:一个数组
dtype:数据类型,你可以设置
order: {‘C’, ‘F’},可选。输出应该以行为主(c风格),还是在内存中以列为主(fortran风格)顺序
empty(shape, dtype=None, order=‘C’)
empty_like(a, dtype=None, order=‘K’, subok=True, shape=None)
同上。创建没有具体值的数组(垃圾值)
代码如下(示例):
shape:一个数组
dtype:数据类型,你可以设置
order: {‘C’, ‘F’},可选。输出应该以行为主(c风格),还是在内存中以列为主(fortran风格)顺序
a:接收另一个数组,以它为参考
diag(v, k=0)
以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换成方阵(非对角线元素为0).两种功能角色转变取决于输入的v。
代码如下(示例):
v : array_like.
如果v是2D数组,返回k位置的对角线。
如果v是1D数组,返回一个v作为k位置对角线的2维数组。
k : int, optional
既然是随机数每次运行产生的结果是不一样的(为什么了,请看到seed函数部分!)
rand(d0, d1, …, dn)
产生均匀分布的样本值(在0~1中取随机数)
代码如下(示例):
d0, d1, …, dn:填数字,填1个是一维,2个是二维,以此类推
random(size=None)
产生随机数(在0~1中取随机数)
size:一个数组
randint(low, high=None, size=None, dtype=None)
给定范围内取随机整数。
代码如下(示例):
low:最小值
high:最大值
size:一个数组
dtype:数据类型
randn(d0, d1, …, dn)
产生正态分布的样本值。
d0, d1, …, dn:填数字,填1个是一维,2个是二维,以此类推
seed(self, seed=None)
随机数种子。(随机数每次运行产生的结果是不一样的,但有了seed函数可以让输出的结果是一样的)之前没有设置种子数,每运行一次随机数种子数都会变。所有随机数每次运行产生的结果是不一样的!
permutation(x)
对一个序列随机排序,不改变原数组
x:加入一个数组(变量)
代码如下(示例):
shuffle(x)
对一个序列随机排序,改变原数组。
代码如下(示例):
x:加入一个数组(变量)(为什么shuffle返回none?
因为在这个函数中的return的值是none)
uniform(low=0.0, high=1.0, size=None)
产生具有均匀分布的数组
代码如下(示例):
normal(loc,scale,size)
产生具有正态分布的数组
loc:均值
scale:标准差。
size:形状,一个数组
poisson(lam,size)
产生具有泊松分布的数组
lam随机事件发生率
size:形状,一个数组
表示数据轴的个数,即数组的维度(这里也可以判断维度)
代码如下(示例):
表示数组的尺寸,返回一个元组,为几行几列(这里也可以判断维度)
代码如下(示例):
这是什么意思呢?
我们看括号里数字,括号里有几位数就是几维!
如:(2,2,3)有3个数 表示为三维数组
(2,2,3)表示是一个三维数组,里面有2个二维数组,每二维数组中有2个一维数组,每一维数组中有3个数!
还没理解 再看下一个例子:
(3,4,5,2)表示是一个四维数组,里面有3个三维数组,每三维数组中4个二维数组,每二维数组中有5个一维数组,每一维数组中有2个数!
这下该明白了吧!=><=
表示元素的总数(就是一个数组中有几个数)
可以改变数组的维度 但要保持个数一样
表示数据类型
代码如下(示例):
这里默认的数据类型是 int32, 可以通过astype来改变数据类型
表示数组中每个元素的字节大小
arr4数组的数据类型是int32 ,对于计算机而言,1个字节是8位,所以arr4的itemsize属性值为4!(32/8=4)
如果是arr4数组的数据类型是int64,arr4的itemsize属性值为8!(64/8=8)
Numpy中多维数组创建及其基本属性还有许多,我只写了一些基础的。很多写的也没那么好,如果有写错了的,希望大家能指出!谢谢了!抱拳!抱拳!