formatee el número de teléfono en CSV usando pandas

Python / pandas n00b. Tengo un código que procesa datos de eventos almacenados en archivos csv. Datos dedf["CONTACT PHONE NUMBER"] está emitiendo el número de teléfono como '5555551212.0' Obviamente, el ".0" es un problema, pero se agregó porque es un número entero, me imagino.

De todos modos, decidí que debería formatear el número de teléfono por el bien de la usabilidad.

El número proviene del archivo csv, sin formato. El número siempre tendrá diez dígitos: 5555551212, pero me gustaría mostrarlo como (555) 555-1212.

import glob
import os
import pandas as pd
import sys

csvfiles = os.path.join(directory, '*.csv')
for csvfile in glob.glob(csvfiles):
    df = pd.read_csv(filename)
    #formatting the contact phone
    phone_nos = df["CONTACT PHONE NUMBER"]
    for phone_no in phone_nos:
        contactphone = "(%c%c%c)%c%c%c-%c%c%c%c" % tuple(map(ord,phone_no))

La última línea me da el siguiente error:not enough arguments for format string

Pero tal vez esta no es la forma en que los pandas hacen esto. Como estoy iterando a través de una matriz, también necesito guardar los datos en su columna existente o reconstruir esa columna después de que se hayan procesado los números de teléfono.

Respuestas a la pregunta(2)

Su respuesta a la pregunta