es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Limpieza de texto para eliminar [] y “” en un dataframe de Julia

Tengo un dataframe con una columna text que es una lista de cadenas, como esta:

 text

[“texto1”, “texto2”]
[“texto3”, “texto4”]

¿Cómo puedo limpiar la cadena para tener otra columna llamada text_clean de esta manera?

text

texto1,texto2
texto3,texto4

Cuando escribo en el repl df obtengo:

text
String
["cadena"]
["cadena", "otracadena"]

pero cuando escribo:

df[!,:text]

obtengo:

"[\\"cadena\\"]"
"[\\"cadena\\",\\"otracadena\\"]"

Me gustaría crear una nueva columna llamada text_clean:

cadena
cadena, otracadena

Gracias

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, podemos usar la función join para unir la lista de cadenas en la columna text en una cadena separada por comas. Podemos hacer esto utilizando un bucle for para iterar sobre cada fila en el marco de datos y aplicar la función join a la columna text, almacenando el resultado en una nueva columna text_clean. Aquí hay un ejemplo de código:

    using DataFrames
    
    # crear un marco de datos de ejemplo
    df = DataFrame(text = [["texto1", "texto2"], ["texto3", "texto4"]])
    
    # función para limpiar las cadenas
    function clean_strings(text::Array{String})
        return join(text, ", ")
    end
    
    # crear una nueva columna para las cadenas limpias
    df.text_clean = [clean_strings(row.text) for row in eachrow(df)]
    
    # imprimir el marco de datos resultante
    println(df)
    

    Esto producirá el siguiente marco de datos:

    2×2 DataFrame
    │ Row │ text             │ text_clean  │
    │     │ Array{String,1} │ String      │
    ├─────┼─────────────────┼────────────┤
    │ 1   │ ["texto1", "texto2"] │ texto1, texto2 │
    │ 2   │ ["texto3", "texto4"] │ texto3, texto4 │
    

    Primero creamos nuestro marco de datos de ejemplo con la columna text que contiene listas de cadenas. Definimos una función clean_strings que toma una matriz de cadenas y usa la función join para unirlas en una cadena separada por comas. Luego usamos una comprensión de lista para aplicar esta función a cada fila en la columna text y almacenar el resultado en una nueva columna text_clean. Finalmente, imprimimos el marco de datos resultante para verificar que la limpieza fue exitosa.

Comments are closed.