python - Fast replacement of values in a numpy array -
I have a very large numerical array (containing one million elements) such as the one below:
[0 6 6 1 2 7 6 2 3 8 7 3 4 9 8 5 6 11 10 6 7 12 11 7 8 13 12 8 9 14 13 10 11 16 15 11 12 17 16 12 13 18 17 13 14 1 9 18 15 16 21 20 16 17 22 21 17 18 23 22 18 19 24 23] and a small dictionary map for the replacement of some of the elements mentioned above {4: 0, 9: 5, 14: 10, 19:15, 20: 0, 21: 1, 22: 2, 23: 3, 24: 0}
< / Pre> I want to change some elements according to the map above. The oval array is really large, and only a small group of elements (only in the form of keys in the dictionary) will be replaced by the most appropriate values. What is the fastest way to do this?
I believe there is an even more effective method here, but for now, try
copy of numpy import to newArray = copy (theArray) k, in v. d.iteritems (): newArray [theArray == k] = v
Testing for microbainchmarks and correct:
Comments
Post a Comment