Wie kann ich Sie entfernen sich wiederholenden Zeichen aus strings?

Ich bin versucht zu reinigen die Spalte 'name' in diesem dataframe. Es hat wiederholt Zeichen, die alle dem gleichen Muster Folgen. Überprüfen Sie heraus das Bild unten als Referenz.

Dataframe

3 Antworten

  • al76
    4. Mai 2019

    Der name Feld ist wiederholbar und somit nur die Halbierung der saite

    x='namename'
    x[:len(x)/2]
    'name'
    
  • Klemen Koleša
    4. Mai 2019

    Können Sie einfach extrahieren zweiten Hälfte der string für jede Zeile wie diese:

    df["name"]=df["name"].apply(lambda x:x[:int(len(x)/2)])
    
  • wilroth2403
    4. Mai 2019

    Sie sollten die Lösung des zugrunde liegenden Problems statt dies zu tun.

    Reguardless, um dies zu tun alles, was Sie tun müssen, ist, verkürzen Sie die saite um die Hälfte

    import math
    
    def half_str(name: str):
        return name[:math.ceil(len(name)/2)]
    

    Hier sind einige Beispiele aus der Datenbank:

    print(half_str("John SmithJohn Smith")) # "John Smith"
    print(half_str("Ty GoodenTyGooden")) # "Ty Gooden"