排序a";1D“;Python中的ndarray
正如我前面的问题。 我现在有一个表格:排序a";1D“;Python中的ndarray,python,arrays,sorting,numpy,Python,Arrays,Sorting,Numpy,正如我前面的问题。 我现在有一个表格: [[ 0. ] [ 18.21545873] [ 14.93752607] [ 15.55222205] [ 14.93752607] [ 10.68406032] [ 11.54598659] [ 15.55222205] [ 11.54598659] [ 12.30302814]] 如何对该数组进行排序?因为它不是一个普通的列表。它是一个数组,换句话说,它是一个列表列表 人们直接对列表进行排序是正常的,或者人们通常
[[ 0. ]
[ 18.21545873]
[ 14.93752607]
[ 15.55222205]
[ 14.93752607]
[ 10.68406032]
[ 11.54598659]
[ 15.55222205]
[ 11.54598659]
[ 12.30302814]]
l = [[ 0. ],
[ 18.21545873],
[ 14.93752607],
[ 15.55222205],
[ 14.93752607],
[ 10.68406032],
[ 11.54598659],
[ 15.55222205],
[ 11.54598659],
[ 12.30302814]]
l.sort()
生产你想要的东西。可能我没有找到问题所在。您可以按特定列对2D numpy数组进行排序。在您的情况下,这将只是列
0
。看这里,谢谢@Cyber,我刚刚发现了这一点,并申请了我的案件。但是,关于我的第二个问题:人们通常会将这种一维数组视为“一维数组”,还是将其更改为列表?我们如何将这个1d数组更改为列表?谢谢这取决于你的意图。如果2D数组在每个数组中只有一个元素,那么当然只需要1D数组。为了回答你的另一个问题,你把一个numpy数组变成一个列表的方式是:假设你的numpy数组是numpyArray
,你只需要说newList=list(numpyArray)
Hi@Cyber,我从newList=list(numpyaray)
得到的是数组([0.])、数组([18.21545873])、…
。但我的意思是[0,18.21545873,…]
。我需要再问一个问题吗?对不起,我弄错了,需要再来点咖啡;)假设您的numpy数组名为x
,请尝试以下操作:[i for i in x[:,0]]
谢谢!但当我尝试这个时,我得到了“一个也没有”。这是否与我的一维数组没有“,”作为分隔符有关?在我最初的帖子中,我的第二个问题是,你知道人们通常使用“Ndarray”或“list of list”吗?有没有办法把数据传输到列表中?谢谢@Murphysort()
不返回任何内容,因此不能说newArray=l.sort()
。它将对数组l
进行适当排序,因此如果在sort()
之后打印l
,您会注意到它已被排序。@Murphy,如果您想获得返回值,您可以使用new=sorted(l)