添加、删除和排序元素
本节介绍np.sort()
、np.concatenate()
使用np.sort()
对元素进行排序很简单。
调用函数时,可以指定轴、种类和顺序。
如果从这个数组开始:
>>> arr = np.array([2, 1, 5, 3, 7, 4, 6, 8])
你可以使用以下命令,按升序对数字进行快速排序:
>>> np.sort(arr)
array([1, 2, 3, 4, 5, 6, 7, 8])
除了返回数组的已排序副本的sort
之外,还可以使用:
-
argsort,是沿指定轴的间接排序,
-
lexsort,是一种对多个键的间接稳定排序,
-
searchsorted,,它将在已排序的数组中查找元素,以及
-
partition,这是部分排序。
如果从这些数组开始:
>>> a = np.array([1, 2, 3, 4])
>>> b = np.array([5, 6, 7, 8])
可以用np.concatenate()
连接它们。
>>> np.concatenate((a, b))
array([1, 2, 3, 4, 5, 6, 7, 8])
或者,如果从这些数组开始:
>>> x = np.array([[1, 2], [3, 4]])
>>> y = np.array([[5, 6]])
可以将它们连接到:
>>> np.concatenate((x, y), axis=0)
array([[1, 2],
[3, 4],
[5, 6]])
为了从数组中删除元素,使用索引选择要保留的元素非常简单,如下所示:
In [6]: x=np.arange(24).reshape((3,8))
In [7]: x
Out[7]:
np.array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15],
[16, 17, 18, 19, 20, 21, 22, 23]])
In [8]: x[1:2,4:8]
Out[8]: array([[12, 13, 14, 15]])
In [9]: x[0:2,4:8]
Out[9]:
array([[ 4, 5, 6, 7],
[12, 13, 14, 15]])
NumPy入门系列教程:
如何将一维array转换为二维array(如何向数组添加新轴)