使用数值对数组进行排序:好方法

时间:2017-02-27 15:36:42

标签: python arrays sorting numpy numpy-broadcasting

首先,让我给出一些背景信息:我为生物学和数学专业的学生教授数学的第一门课程。在本课程中,我尝试为学生提供操作数组的良好习惯,例如使用 NumPy ndarray 数据结构。

我知道不应该在ndarray上使用for循环。我想用标准排序算法来说明这个陈述。当然我知道如何天真地编码,这是我想在这里做什么。

我不知道怎么用NumPy的所有机器来做,但我想我可以自己搜索。我在NumPy中找到sort函数的reference page,其中包含以下签名

numpy.sort(a, axis=-1, kind='quicksort', order=None)

此页面链接到该函数的source code,这很有用。但后来我输了!我不明白以下几行中神奇的发生地点:

if axis is None:
    a = asanyarray(a).flatten()
    axis = 0
else:
    a = asanyarray(a).copy(order="K")
a.sort(axis=axis, kind=kind, order=order)
return a

所以我的问题是:这段代码做了什么?

0 个答案:

没有答案