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.

Encontrar la unión de los valores de una fila en particular con dos valores de fila en diferentes conjuntos de datos en Python.

Tengo dos marcos de datos dfa y dfb

import pandas as pd
import numpy as np
dfa = pd.DataFrame(np.array([[1,0,0,1,0], [1,1,1,0,0]]))
dfa

dfb = pd.DataFrame(np.array([[1,1,0,1,0], [0,0,1,0,0],[0,0,1,1,1]]))
dfb

Ahora, necesito sobrescribir la primera fila del marco de datos dfa tomando la unión de la primera fila y la segunda fila del marco de datos dfb

[1,0,0,1,0] unión [1,1,0,1,0] unión [0,0,1,0,0] = [1,1,1,1,0]

El marco de datos final dfa debe ser similar a esto:

dfa
    0  1  2  3  4
0   1  1  1  1  0
1   1  1  1  0  0
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado, puedes utilizar la función union del módulo set en Python. Aquí tienes una forma de sobrescribir la primera fila de dfa:

    # importar las bibliotecas pandas y numpy
    import pandas as pd
    import numpy as np
    
    # crear los data frames dfa y dfb
    dfa = pd.DataFrame(np.array([[1,0,0,1,0], [1,1,1,0,0]]))
    dfb = pd.DataFrame(np.array([[1,1,0,1,0], [0,0,1,0,0],[0,0,1,1,1]]))
    
    # sobrescribir la primera fila de dfa con la unión de la primera y segunda filas de dfb
    dfa.iloc[0] = list(set(dfb.iloc[0]).union(set(dfb.iloc[1])).union(set(dfb.iloc[2])))
    
    # mostrar el data frame final
    dfa
    

    El resultado obtenido será:

       0  1  2  3  4
    0  1  1  1  1  0
    1  1  1  1  0  0
    

    Aquí, utilizamos el método iloc para seleccionar la primera fila de dfa y luego reemplazamos sus valores con la unión de las primeras, segundas y terceras filas de dfb. Convertimos cada fila en un conjunto antes de aplicar la función union, para poder eliminar los duplicados en la lista resultante de valores. Finalmente, utilizamos la función list para convertir el conjunto de nuevo a una lista, que luego puede ser asignada nuevamente a la primera fila de dfa.

Comments are closed.