¿Cómo puedo eliminar los caracteres repetidos de cuerdas?

Estoy tratando de limpiar el 'nombre' de la columna en este dataframe. Se ha repetido personajes que todos siguen el mismo patrón. Echa un vistazo a la imagen de abajo como referencia.

Dataframe

3 Respuestas

  • al76
    4 de mayo de 2019

    El campo nombre es repetido por lo que sólo la mitad de la cadena

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

    Usted puede simplemente extracto de la segunda mitad de la cadena para cada fila como:

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

    Usted debe resolver el problema de fondo en vez de hacer esto.

    Reguardless, para ello todo lo que necesitas hacer es acortar la cuerda por la mitad

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

    Aquí están algunos ejemplos de su base de datos:

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