1
How to order the following matrix according to the x-coordinate column? I want you not only to order the coordinates, but to change the lines so that the city coordinates are correct.
What I have so far works for the first 3 cities but the last is simply a copy of a previous line.
matriz_ficheiro=[['Nome' 'Coordenada X' 'Coordenada Y' 'Peso']
['Lisboa' '36.752' '204.319' '3']
['Copenhaga' '1971.323' '2086.417' '5']
['Berlin' '2046.659' '1735.743' '4']
['Madrid' '520.862' '392.972' '2']]
lista_x=[]
for i in range(1,matriz_ficheiro[:,0].size):
lista_x.append(float(matriz_ficheiro[i][1]))
matriz_ordenada_x=matriz_ficheiro
for i in range (1,matriz_ficheiro[:,0].size):
minimo_x=min(lista_x)
for j in range (1,matriz_ficheiro[:,0].size):
if minimo_x==eval(matriz_ficheiro[j][1]):
matriz_ordenada_x[i][0]=matriz_ficheiro[j][0]
matriz_ordenada_x[i][1]=minimo_x
matriz_ordenada_x[i][2]=matriz_ficheiro[j][2]
matriz_ordenada_x[i][3]=matriz_ficheiro[j][3]
lista_x.remove(minimo_x)
The result is as follows:
--------------------------------------------------------------------------------
| Nome | Coordenada X | Coordenada Y | Peso |
--------------------------------------------------------------------------------
| Lisboa | 36.752 | 204.319 | 3 |
--------------------------------------------------------------------------------
| Madrid | 520.862 | 392.972 | 2 |
--------------------------------------------------------------------------------
| Berlin | 2046.659 | 1735.743 | 4 |
--------------------------------------------------------------------------------
| Berlin | 2046.659 | 1735.743 | 4 |
--------------------------------------------------------------------------------