【Python】Numpy之各种创建array的⽅法及Numpy中的函数
使⽤
学习Python的童鞋,对numpy都不陌⽣,⼩⽩最近学习了⼀些Numpy的⽅法,发现Numpy真的很强⼤。
⽬录
Numpy:本质的数字化的python,当然也可以存放string类型的数据。
1.如何创建array?
其中,dtype⽤来指定数据类型,int32指,存放int类型最⾼32位,不过也可以去掉32,直接写int。数据类型float都可以定义数据的长度,也可以不定义。
1.1tuple函数
tuple=(1,2,3,4)
a=np.array(tuple,dtype='int32')
a
结果为:
array([1, 2, 3, 4])
1.2list函数
list=[1,2,3,4]
b=np.array(list,dtype='int32')
b
结果为:
array([1, 2, 3, 4])
如果同样是传⼊int类型的list,但是指定为float类型,如下:
list=[1,2,3,4]
c=np.array(list,dtype='float')
c
结果为:
array([1., 2., 3., 4.])
这⾥⾃动就将数据转成float类型了。
上⾯都是单list或者单tuple传⼊,那么⼀样可以混合传⼊:
d=np.array([list,tuple])
d
d.shape
array([[1, 2, 3, 4],
[1, 2, 3, 4]])
(2, 4)
这⾥安利⼀个⼩功能,查看array的类型(shape函数),从结果可以看出是⼀个2⾏4列的数组。
2.创建⼀些特殊的矩阵
2.1⽣成相应⼤⼩的零矩阵,默认数据类型是float
⽤法:zeros(shape, dtype=float, order='C')
参数:
shape:形状
dtype:数据类型,可选参数,默认numpy.float64
dtype类型:t ,位域,如t4代表4位
b,布尔值,true or false
i,整数,如i8(64位)
u,⽆符号整数,u8(64位)
f,浮点数,f8(64位)
c,浮点负数,
o,对象,
s,a,字符串,s24
u,unicode,u24
order:可选参数,c代表与c语⾔类似,⾏优先;F代表列优先
2.2⽣成相应⼤⼩的1矩阵,默认数据类型是float
⽤法:s(shape, dtype=None, order=’C’)
参数:
shape:形状
dtype:数据类型,可选参数,默认numpy.float64
order:可选参数,c代表与c语⾔类似,⾏优先;F代表列优先
2.3⽣成⼀个随机元素的矩阵,⼤⼩按照参数定义,默认数据类型是float
⽤法:empty(shape[, dtype, order])
参数:shape : 整数或者整型元组定义返回数组的形状;
dtype : 数据类型,可选定义返回数组的类型。
order : {‘C’, ‘F’}, 可选规定返回数组元素在内存的存储顺序:C(C语⾔)-rowmajor;F(Fortran)column-major 2.4⽣成相应⼤⼩的⼀个对⾓线元素为1,其余位置为0的矩阵
⽤法:(N, M=None, k=0, dtype=<class 'float'>, order='C')
参数:
N:int值,⾏数。
M:int值,列数,如果没有则默认为N。
dtype:返回的数据元素的格式,默认为float。
order:1.14.0版本后,可选参数{'C', 'F'}
下⾯是对应的⼩例⼦~
[0., 0., 0.],
[0., 0., 0.]])
s([3,4])
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
pty([2,3])
array([[3.46e-322, 0.00e+000, 0.00e+000],
[0.00e+000, 0.00e+000, 0.00e+000]])
(4)
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
3.numpy的⼀些函数
3.1函数说明:arange([start,] stop[, step,], dtype=None)
根据start与stop指定的范围以及step设定的步长,⽣成⼀个 ndarray。
3.2函数说明:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在指定的间隔内返回均匀间隔的数字。linspace函数python
返回num均匀分布的样本,在[start, stop]。
这个区间的端点可以任意的被排除在外。
3.3random函数
1.np.random.random((a,b))
a代表随机⽣成的个数,b代表区间,如果b=10就是从0-10中随机。
2.numpy.random.rand(a0, a1, ..., an)
⽣成⼀个[0,1)之间的随机浮点数或N维浮点数组。
3.numpy.random.randn(a0, a1, ..., an)
⽣成⼀个浮点数或N维浮点数组,取数范围:正态分布的随机样本数。
4.numpy.random.standard_normal(size=None)
⽣产⼀个浮点数或N维浮点数组,取数范围:标准正态分布随机样本
5.numpy.random.randint(low, high=None, size=None, dtype='l')
⽣成⼀个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
6.numpy.random.random_integers(low, high=None, size=None)
⽣成⼀个整数或⼀个N维整数数组,取值范围:若high不为None,则取[low,high]之间随机整数,否则取[1,low]之间随机整数。
7.numpy.random.random_sample(size=None)
⽣成⼀个[0,1)之间随机浮点数或N维浮点数组。
8.numpy.random.choice(a, size=None, replace=True, p=None)
从序列中获取元素,若a为整数,元素取值为np.range(a)中随机数;若a为数组,取值为a数组元素中随机元素。
9.numpy.random.shuffle(x)
对X进⾏重排序,如果X为多维数组,只沿第⼀条轴洗牌,输出为None。
10.numpy.random.permutation(x)
与numpy.random.shuffle(x)函数功能相同,两者区别:peumutation(x)不会修改X的顺序。
2)np.linspace(0,10,3)
array([ 0.,  5., 10.])
3)a = np.random.random([4,4])
[[0.94927293 0.11516777 0.15205786 0.36055847]
[0.24878514 0.33557077 0.30436868 0.70995221]
[0.39684346 0.18775942 0.03005964 0.57851862]
[0.22523724 0.59238284 0.86613604 0.29699464]]
以上是对numpy的⼀些简单函数的使⽤及创建,欢迎⼤家交流学习哦。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。