本文主要是介绍NumPy形状操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数组的形状由它每个轴上的元素个数给出:
shape
>>> import numpy as np
>>> a = np.floor(10*np.random.random((3,4)))
>>> a
array([[ 8., 0., 3., 2.],[ 9., 8., 6., 3.],[ 7., 9., 1., 8.]])
>>> a.shape
(3, 4)
一个数组的形状可以被多种命令修改:
ravel, shape, transpose, resize
>>> a.ravel()
array([ 8., 0., 3., 2., 9., 8., 6., 3., 7., 9., 1., 8.])
>>> a.shape
(3, 4)
>>> a.shape=(6,2)
>>> a
array([[ 8., 0.],[ 3., 2.],[ 9., 8.],[ 6., 3.],[ 7., 9.],[ 1., 8.]])
>>> a.transpose()
array([[ 8., 3., 9., 6., 7., 1.],[ 0., 2., 8., 3., 9., 8.]])
>>> a.transpose()
array([[ 8., 3., 9., 6., 7., 1.],[ 0., 2., 8., 3., 9., 8.]])
>>> a
array([[ 8., 0.],[ 3., 2.],[ 9., 8.],[ 6., 3.],[ 7., 9.],[ 1., 8.]])
>>> a.resize((2,6))
>>> a
array([[ 8., 0., 3., 2., 9., 8.],[ 6., 3., 7., 9., 1., 8.]])
几种方法可以沿不同轴将数组堆叠在一起:
>>> a = np.floor(10*np.random.random((2,2)))
>>> a
array([[ 2., 9.],[ 0., 8.]])
>>> b = np.floor(10*np.random.random((2,2)))
>>> b
array([[ 5., 3.],[ 4., 8.]])
>>> np.vstack((a,b))
array([[ 2., 9.],[ 0., 8.],[ 5., 3.],[ 4., 8.]])
>>> np.hstack((a,b))
array([[ 2., 9., 5., 3.],[ 0., 8., 4., 8.]])
>>> np.column_stack((a,b))
array([[ 2., 9., 5., 3.],[ 0., 8., 4., 8.]])
>>> a = np.array([4.,2.])
>>> b = np.array([2.,8.])
>>> a[:,np.newaxis]
array([[ 4.],[ 2.]])
>>> np.column_stack((a[:,np.newaxis],b[:,np.newaxis]))
array([[ 4., 2.],[ 2., 8.]])
>>> np.vstack((a[:,np.newaxis],b[:,np.newaxis]))
array([[ 4.],[ 2.],[ 2.],[ 8.]])
将一个数组分割(split)成几个小数组。
>>> a = np.floor(10*np.random.random((2,12)))
>>> a
array([[ 3., 3., 1., 4., 0., 5., 0., 8., 8., 0., 8., 9.],[ 4., 0., 9., 7., 7., 9., 4., 6., 1., 4., 3., 1.]])
>>> np.hsplit(a,3)
[array([[ 3., 3., 1., 4.],[ 4., 0., 9., 7.]]), array([[ 0., 5., 0., 8.],[ 7., 9., 4., 6.]]), array([[ 8., 0., 8., 9.],[ 1., 4., 3., 1.]])]
>>> np.hsplit(a,(3,4))
[array([[ 3., 3., 1.],[ 4., 0., 9.]]), array([[ 4.],[ 7.]]), array([[ 0., 5., 0., 8., 8., 0., 8., 9.],[ 7., 9., 4., 6., 1., 4., 3., 1.]])]
>>> np.hsplit(a,(4,5))
[array([[ 3., 3., 1., 4.],[ 4., 0., 9., 7.]]), array([[ 0.],[ 7.]]), array([[ 5., 0., 8., 8., 0., 8., 9.],[ 9., 4., 6., 1., 4., 3., 1.]])]
这篇关于NumPy形状操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!