Python 用数值对数组排序:好方法
首先,让我给出一些背景:我为主修生物和数学的学生讲授第一门数学课程。在本课程中,我试图让学生养成操作数字数组的良好习惯,例如使用NumPy的ndarray数据结构 我知道在数据阵列上不应使用for循环。我想用一个标准的排序算法来说明这个语句。当然,我知道如何天真地编写代码,这不是我想在这里做的 我不知道如何使用NumPy的所有机器,但我想我可以自己搜索。我在NumPy中找到了Python 用数值对数组排序:好方法,python,arrays,sorting,numpy,array-broadcasting,Python,Arrays,Sorting,Numpy,Array Broadcasting,首先,让我给出一些背景:我为主修生物和数学的学生讲授第一门数学课程。在本课程中,我试图让学生养成操作数字数组的良好习惯,例如使用NumPy的ndarray数据结构 我知道在数据阵列上不应使用for循环。我想用一个标准的排序算法来说明这个语句。当然,我知道如何天真地编写代码,这不是我想在这里做的 我不知道如何使用NumPy的所有机器,但我想我可以自己搜索。我在NumPy中找到了sort函数的 numpy.sort(a, axis=-1, kind='quicksort', order=None)
sort
函数的
numpy.sort(a, axis=-1, kind='quicksort', order=None)
此页面链接到函数的,这很有用。但是我迷路了!我不明白下面几行中的魔法发生在哪里:
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
所以我的问题是:这段代码是做什么的?我们没有看到
kind
和order
的值,他没有引用接受这些参数的函数定义。这个函数表单将任务委托给方法表单。是的,我看到了,但是,该方法的源代码在哪里呢?您真的想进入ndarray.sort
?