I have two arrays:
JavaScript
x
3
1
order = np.array([ 0, 1, 2, 3, 4, 5, 6, 10, 7, 8, 9])
2
X = np.array([[1,1], [1,2], [2,1], [1,7], [7,3], [8,3], [8,2], [10,5], [10,6], [10,7], [10,1]]
3
And I’m running the foll)owing code:
JavaScript
1
4
1
m,n = X.shape
2
for i in range(m):
3
print( i," ",X[order[i]])
4
I get the following result:
JavaScript
1
12
12
1
0 [1 1]
2
1 [1 2]
3
2 [2 1]
4
3 [1 7]
5
4 [7 3]
6
5 [8 3]
7
6 [8 2]
8
7 [10 1]
9
8 [10 1]
10
9 [10 1]
11
10 [10 1]
12
Why are the last elements changed? I don’t see why X is changed by indexing some elements.
edit: added np.array
Advertisement
Answer
JavaScript
1
6
1
import numpy
2
# your data (order and X)
3
m, n = numpy.shape(X)
4
for i in range(m):
5
print(i, " ", X[order[i]])
6
Output:
JavaScript
1
12
12
1
0 [1, 1]
2
1 [1, 2]
3
2 [2, 1]
4
3 [1, 7]
5
4 [7, 3]
6
5 [8, 3]
7
6 [8, 2]
8
7 [10, 1]
9
8 [10, 5]
10
9 [10, 6]
11
10 [10, 7]
12