How to decide optimal threshold for my classification model from FPR, TPR and threshold
I’m willing to bet that you have a 100 value array for both the ROC and the data by coincidence. You aren’t getting a threshold for each data record but for each threshold evaluated. 

At this point, you have to define what ‘optimal’ means in your context. By default (in many R packages at least), sensitivity and specificity are equally weighted, in which case the ‘optimal’ threshold corresponds roughly to the threshold where a 45 degree tangent line intersects the ROC curve. You can choose any threshold you want for a given ROC, depending on how you weight sense/spec.  R has a few packages that help compute that; I’d be surprised if Python did not have an equivalent.