阅读量

原创教程,严禁转载。引用本文,请署名 Python中文网, http://www.zglg.work


添加、删除和排序元素

本节介绍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入门系列教程:

NumPy介绍

安装和导入NumPy

Python列表和NumPy数组有什么区别?

什么是array?

有关Array的详细信息

如何创建array

添加、删除和排序元素

数组形状和大小

重塑array

如何将一维array转换为二维array(如何向数组添加新轴)