NumPy形状操作 更改数组的形状
2017-01-17 09:41
302 查看
形状操作
更改数组的形状
一个数组的形状由它每个轴上的元素个数给出:>>> a = floor(10*random.random((3,4))) >>> a array([[ 7., 5., 9., 3.], [ 7., 2., 7., 8.], [ 6., 8., 3., 2.]]) >>> a.shape (3, 4)
一个数组的形状可以被多种命令修改:
>>> a.ravel() # flatten the array array([ 7., 5., 9., 3., 7., 2., 7., 8., 6., 8., 3., 2.]) >>> a.shape = (6, 2) >>> a.transpose() array([[ 7., 9., 7., 7., 6., 3.], [ 5., 3., 2., 8., 8., 2.]])
由
ravel()展平的数组元素的顺序通常是“C风格”的,就是说,最右边的索引变化得最快,所以元素a[0,0]之后是a[0,1]。如果数组被改变形状(reshape)成其它形状,数组仍然是“C风格”的。NumPy通常创建一个以这个顺序保存数据的数组,所以
ravel()将总是不需要复制它的参数 3
。但是如果数组是通过切片其它数组或有不同寻常的选项时,它可能需要被复制。函数
reshape()和
ravel()还可以被同过一些可选参数构建成FORTRAN风格的数组,即最左边的索引变化最快。
reshape函数改变参数形状并返回它,而
resize函数改变数组自身。
>>> a array([[ 7., 5.], [ 9., 3.], [ 7., 2.], [ 7., 8.], [ 6., 8.], [ 3., 2.]]) >>> a.resize((2,6)) >>> a array([[ 7., 5., 9., 3., 7., 2.], [ 7., 8., 6., 8., 3., 2.]])
如果在改变形状操作中一个维度被给做-1,其维度将自动被计算
更多 shape, reshape, resize, ravel 参考
NumPy示例
>>> a = floor(10*random.random((3,4)))
>>> a
array([[ 0., 1., 8., 6.],
[ 7., 1., 9., 9.],
[ 7., 3., 9., 8.]])
>>> a.shape
(3, 4)
>>> a.ravel()
array([ 0., 1., 8., 6., 7., 1., 9., 9., 7., 3., 9., 8.])
>>> a.shape = (6, 2)
>>> a
array([[ 0., 1.],
[ 8., 6.],
[ 7., 1.],
[ 9., 9.],
[ 7., 3.],
[ 9., 8.]])
>>> a.transpose()
array([[ 0., 8., 7., 9., 7., 9.],
[ 1., 6., 1., 9., 3., 8.]])
>>> a.shape = (3,4)
>>> a.transpose()
array([[ 0., 7., 7.],
[ 1., 1., 3.],
[ 8., 9., 9.],
[ 6., 9., 8.]])
>>> a=array([ 7., 5., 9., 3., 7., 2., 7., 8., 6., 8., 3., 2.])
>>> a
array([ 7., 5., 9., 3., 7., 2., 7., 8., 6., 8., 3., 2.])
>>> a.reshape(6,2)
array([[ 7., 5.],
[ 9., 3.],
[ 7., 2.],
[ 7., 8.],
[ 6., 8.],
[ 3., 2.]])
>>> a
array([ 7., 5., 9., 3., 7., 2., 7., 8., 6., 8., 3., 2.])
>>> a.resize((2,6))
>>> a
array([[ 7., 5., 9., 3., 7., 2.],
[ 7., 8., 6., 8., 3., 2.]])
>>>
相关文章推荐
- python numpy 如何获取和更改数组(array)的形状、维数-shape&reshape
- NumPy常用【数值计算】函数总结(1):生成数组、读取数组、数组操作
- 利用函数调用,对数组进行初始化,更改,清零,逆置等操作
- Numpy 数组操作
- numpy入门——数组属性操作
- numpy入门——数组操作
- Numpy 数组基础操作--索引、组合、分割、复制、遍历、转换、序列化(四)
- NumPy(4)数组数学与基础操作与复制、排序
- 数组的形状操作
- python numpy操作数组学习笔记(二)数组的分割和组合
- numpy教程:数组操作
- Numpy 数组的切片操作
- NumPy 学习(2): 数组的操作
- #numpy#关于数组形状
- numpy 数组操作
- 操作 numpy 数组的常用函数
- 利用函数调用,对数组进行初始化,更改,清零,逆置等操作
- 利用函数调用,对数组进行初始化,更改,清零,逆置等操作
- NumPy数组(2、数组的操作)
- Numpy入门学习之(三) 数组、矩阵基本操作