我在python中编写了一个简单的代码,用于手动排序,因为我需要根据数字更改标签。但是,交换元素似乎无法正常工作。我忘记了一些基本的东西吗? 这是我的代码:
h = np.array(prediction)
h = h.transpose()
t = np.array(Z.columns.values)
for l in range(0, h.size-3):
if h[0,l] < h[0, l+1]:
g = h[0, l]
h[0, l] = h[0, l+1]
h[0, l+1] = g
uu = t[l]
t[l] = t[l+1]
t[l+1] = uu
更新1: 假设我有两个阵列用于展示停车场中的汽车数量,我想对其进行排序,以便知道停车场中哪些车更多。 h和t都是1 * N阵列。 t保存每辆车的名称,例如BMW&#39; TOYOTA&#39;等等,并且h保持它们的数量,例如5,6等等。我想对h数组进行排序,这是数字,如果一个元素在h中发生了变化,我想在另一个中更改相对汽车的名称阵列也是。使用我所知道的其他语言这是一件非常简单的事情,但因为我是python中的新手,我遇到了麻烦。有趣的是,代码运行完美且没有错误,但数组根本没有变化。
答案 0 :(得分:0)
我并不完全理解您的要求,但是一目了然,在if
内发生了许多分配,而且没有任何分配。如果您的数组没有改变我的猜测是if中的代码没有执行,因为if
中的测试失败,或者因为range(0, h.size-3)
为空。
在那里粘贴一些print
,看看那段代码是否真的在运行!