【发布时间】:2014-04-04 19:57:12
【问题描述】:
按照我之前的问题。 我现在有一个 ndarray 的形式:
[[ 0. ]
[ 18.21545873]
[ 14.93752607]
[ 15.55222205]
[ 14.93752607]
[ 10.68406032]
[ 11.54598659]
[ 15.55222205]
[ 11.54598659]
[ 12.30302814]]
- 如何对该数组进行排序?因为它不是一个正常的列表。它是一个ndarray,换句话说,它是一个列表列表。
-
人们直接对这个列表列表进行排序是否正常,或者人们通常将其更改为普通列表
[ 0. , 18.21545873, 14.93752607, 15.55222205, 14.93752607, 10.68406032, 11.54598659, 15.55222205, 11.54598659, 12.30302814]
然后对这个列表进行排序?
非常感谢!
【问题讨论】:
-
您可以按特定列对 2D numpy 数组进行排序。在您的情况下,这将只是列
0。见这里stackoverflow.com/a/2828371/2296458 -
谢谢@Cyber,我刚刚发现了这一点,并申请了我的案子。但是,关于我的第二个问题:通常人们会将这种一维数组视为“一维数组”,还是会将其更改为列表?我们如何将这个一维数组更改为列表?谢谢!
-
这取决于您的意图。如果您的二维数组在每个数组中只有一个元素,那么您当然只需要一个一维数组。要回答您的另一个问题,您将 numpy 数组转换为列表的方式是:假设您的 numpy 数组是
numpyArray,您只需说newList = list(numpyArray) -
嗨@Cyber,我从
newList = list(numpyArray)得到的是array([0.]), array([18.21545873]), ...。但我的意思是[0., 18.21545873, ...]。我需要为此提出另一个问题吗? -
对不起,我的错误,需要更多的咖啡;)说你的 numpy 数组被命名为
x,试试这个:[i for i in x[:,0]]
标签: python arrays sorting numpy