How the precision-recall curve is built
One point per distinct score. Sort rows by score from high to low. For each distinct score t, predict positive for every row with score at least t, then count true positives (TP) and false positives (FP). Precision = TP / (TP + FP) and recall = TP / (all positives). Tied scores are one threshold, so three rows at 0.6 move the curve in a single step, exactly as scikit-learn precision_recall_curve groups them.
Worked example. The scikit-learn docs use labels [0, 0, 1, 1] and scores [0.1, 0.4, 0.35, 0.8]. Thresholds 0.8, 0.4, 0.35 and 0.1 give precision 1, 0.5, 0.667, 0.5 and recall 0.5, 0.5, 1, 1. The curve then ends at recall 0 with precision 1, a point with no threshold that anchors the plot on the y axis.
Best F1. F1 = 2PR / (P + R) at each threshold. The highlighted row is the threshold with the highest F1, a common starting point when you must pick one cutoff.