numpy.nanargmin (array, axis = None): Returns the indices of the min element of the array on the specified axis, ignoring NaN.
Results cannot be trusted if the slice contains only NaN and Infs.
array: Input array to work on axis: [int, optional] Along a specified axis like 0 or 1
Array of indices into the array with same shape as array.shape. with the dimension along axis removed.
INPUT ARRAY 1: [nan, 4, 2, 3, 1] Indices of min in array1: 4 INPUT ARRAY 2: [[nan 4.] [1. 3.]] Indices of min in array2: 2 Indices at axis 1 of array2: [1 0]
INPUT ARRAY: [[8 13 5 0] [0 2 5 3] [10 7 15 15] [3 11 4 12]] Indices of min element: [1 1 3 0]
These codes will not work for online IDs. Please run them on your systems to see how they work
This article is provided by Mohit Gupta_OMG
import numpy as np def find_nearest(array, value): array = np.asarray(array) idx = (np.abs(array - value)).argmin() return array[idx] array = np.random.random(10) print(array) # [ 0.21069679 0.61290182 0.63425412 0.84635244 0.91599191 0.00213826 # 0.17104965 0.56874386 0.57319379 0.28719469] value = 0.5 print(find_nearest(array, value)) # 0.568743859261
Say that you have a list
values = [3,6,1,5], and need the index of the smallest element, i.e.
index_min = 2 in this case.
Avoid the solution with
itemgetter() presented in the other answers, and use instead
index_min = min(range(len(values)), key=values.__getitem__)
because it doesn"t require to
import operator nor to use
enumerate, and it is always faster(benchmark below) than a solution using
If you are dealing with numpy arrays or can afford
numpy as a dependency, consider also using
import numpy as np index_min = np.argmin(values)
This will be faster than the first solution even if you apply it to a pure Python list if:
I have run the benchmark on my machine with python 2.7 for the two solutions above (blue: pure python, first solution) (red, numpy solution) and for the standard solution based on
itemgetter() (black, reference solution).
The same benchmark with python 3.5 showed that the methods compare exactly the same of the python 2.7 case presented above
The rate at which we produce data is growing steadily, thus creating even larger streams of continuously evolving data. Online news, micro-blogs, search queries are just a few examples of these contin...
It would be easy for me to develop native apps using Java, C++ or Objective-C and I am also able to learn Kotlin, Dart or Swift, but things are much easier when you just use Python. I have done a Djan...
Acquire and analyze data from all corners of the social web with Python. This book is for intermediate Python developers who want to engage with the use of public APIs to collect data from social m...
Roger Jennings is an author and consultant specializing in Microsoft .NET n-tier database applications and data-intensive Windows Communication Foundation (WCF) Web services with SQL Server. He’s be...