Ich habe eine Spalte mit Telefonnummern. Normalerweise haben sie das Format (555) 123-4567, aber manchmal haben sie ein anderes Format oder es handelt sich nicht um richtige Zahlen. Ich versuche, dieses Feld so zu konvertieren, dass es nur die Zahlen enthält, und entferne alle nicht numerischen Zeichen (wenn es 10 Zahlen gibt).
Wie kann ich eine Funktion anwenden, die besagt, dass, wenn es 10 Zahlen in diesem Feld gibt, nur die Zahlen extrahieren?
Ich habe versucht:
Code: Select all
df['PHONE'] = df['PHONE'].str.extract('(\d+)', expand=False)
Dadurch wird jedoch nur der erste Zahlenblock (die Vorwahl) extrahiert. Wie rufe ich alle Zahlen ab und führe diese Extraktion nur aus, wenn das Feld genau 10 Zahlen enthält?
Meine erwartete Ausgabe wäre 5551234567