A maneira mais eficiente de converter valores de coluna no Pandas DataFrame

Eu tenho um pd.DataFrame que se parece com:

Eu quero criar um ponto de corte nos valores para colocá-los em dígitos binários, meu ponto de corte neste caso é0.85. Quero que o quadro de dados resultante tenha a seguinte aparência:

O script que escrevi para fazer isso é fácil de entender, mas para conjuntos de dados grandes é ineficiente. Tenho certeza de que o Pandas tem alguma maneira de cuidar desses tipos de transformações.

Alguém sabe de uma maneira eficiente de converter uma coluna de carros alegóricos em uma coluna de números inteiros usando um limite?

Minha maneira extremamente ingênua de fazer uma coisa dessas:

DF_test = pd.DataFrame(np.array([list("abcde"),list("pqrst"),[0.12,0.23,0.93,0.86,0.33]]).T,columns=["c1","c2","value"])
DF_want = pd.DataFrame(np.array([list("abcde"),list("pqrst"),[0,0,1,1,0]]).T,columns=["c1","c2","value"])


threshold = 0.85

#Empty dataframe to append rows
DF_naive = pd.DataFrame()
for i in range(DF_test.shape[0]):
    #Get first 2 columns
    first2cols = list(DF_test.ix[i][:-1])
    #Check if value is greater than threshold
    binary_value = [int((bool(float(DF_test.ix[i][-1]) > threshold)))]
    #Create series object
    SR_row = pd.Series( first2cols + binary_value,name=i)
    #Add to empty dataframe container
    DF_naive = DF_naive.append(SR_row)
#Relabel columns
DF_naive.columns = DF_test.columns
DF_naive.head()
#the sample DF_want

questionAnswers(2)

yourAnswerToTheQuestion