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.

Creando un nuevo dataframe con el nombre de columna y el valor de otro dataframe.

Tengo el df1 así:

    id

0 MC01
1 MC02
2 MC03

Luego otro df2 así:

employee mins
A 8.0
B 7.5
C 6.3
D 9.1
E 8.4
F 6.1

Quiero combinar ambos dataframes en una matriz así:

employee MC01 MC02 MC03
A 8.0 8.0 8.0
B 7.5 7.5 7.5
C 6.3 6.3 6.3
D 9.1 9.1 9.1
E 8.4 8.4 8.4
F 6.1 6.1 6.1

Y este código se ejecutará continuamente con diferentes valores/estructuras de datos.
Por favor ayúdame en este asunto.
¡Gracias anticipadas!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para combinar los dataframes en una matriz, puedes utilizar la función merge para unir los dos dataframes en una columna común, en este caso, ‘id’. Luego, puedes utilizar la función pivot para darle forma al dataframe en el formato de matriz deseado.

    Aquí está el código para lograr esto:

    import pandas as pd
    
    # crear el primer dataframe
    df1 = pd.DataFrame({'id': ['MC01', 'MC02', 'MC03']})
    
    # crear el segundo dataframe
    df2 = pd.DataFrame({'employee': ['A', 'B', 'C', 'D', 'E', 'F'],
                        'mins': [8.0, 7.5, 6.3, 9.1, 8.4, 6.1]})
    
    # unir los dos dataframes en la columna 'id'
    merged = pd.merge(df1, df2, left_on='id', right_index=True)
    
    # darle forma al dataframe en el formato de matriz deseado utilizando pivot
    matrix = merged.pivot(index='employee', columns='id', values='mins').reset_index()
    
    # imprimir la matriz resultante
    print(matrix)
    

    Este código funcionará para cualquier valor/formato de entrada de los dataframes, siempre y cuando tengan una columna común en la que unir y el formato de matriz deseado de salida siga siendo el mismo.

Comments are closed.