I have a user defined number which I want to compare to a certain column of a dataframe.
I would like to return the rows of a dataframe which contain (in a certain
Kind of new to python and pandas but I would suggest this.
#make random df and get number
df = pd.DataFrame({'c1':0,'c2':np.random.random(100)})
x = .25
#find differences and sort
diff = df.c2.apply(lambda z: abs(x-z))
diff.sort()
#get the index for the 5 closest numbers
inds = diff.index[:5]
inds would then have the index locations from the original df for the 5 closest numbers. Hope this helps!