Col1 contains the Col2 letters values, so you can read every value of col1 and check if is greather than 2. If it's so, you can take the letter at the same index in Col2.
Here is an example:
d={'Col1' : [1,5,3,2],'Col2':['A','B','C','D']}
#get the data
col1=d["Col1"]
col2=d["Col2"]
def getGreaterThanNumb(val, lett, numb):
if len(val) != len(lett):
#col1 and col2 must have the same lenght!
return
for i in range(0, len(lett)):
if val[i]>numb:
print(lett[i]) #Print or store it in a collection
getGreaterThanNumb(col1, col2, 2)
Your output will be:

ANNOTATIONS
Now, the coords of any vertices (based on the previous code) is the couple (x,y) = (i,val[i]), so you can write:
for i in range(0, len(lett)):
if val[i]>numb:
#print(lett[i]) #Print or store it in a collection
plt.annotate(lett[i], (i,val[i])) #Annotate
Here is a complete code (without using Pandas, but the behaviour is the same):
import matplotlib.pyplot as plt
d={'Col1' : [1,5,3,2],'Col2':['A','B','C','D']}
#get the data
col1=d["Col1"]
col2=d["Col2"]
coords = plt.plot(col1)
plt.ylabel('some numbers')
def getGreaterThanNumb(val, lett, numb):
if len(val) != len(lett):
#col1 and col2 must have the same lenght!
return
for i in range(0, len(lett)):
if val[i]>numb:
plt.annotate(lett[i], (i,val[i])) #Annotate
#Call the annotation method
getGreaterThanNumb(col1, col2, 2)
#plot
plt.show()
Your output will be:
