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.

Cómo crear una lista de palabras que no se encuentren en otro dataframe

Tengo un problema con un problema del dataframe de Python Pandas. Tengo dos dataframes con contenido diferente. Quiero obtener las palabras que no están en el dataframe 2 y guardarlas en un nuevo dataframe. ¿Alguien puede ayudarme a resolver este problema utilizando el dataframe de Python Pandas? Muchas gracias…

Donde el dataframe 1 contiene:
Tweet
Bismillah para mañana Amin
ubicación compartida
Responder a shahrilPng
Es hora de terminar lo que ha estado pendiente
arriba y paralelo
Cuando persigues tus sueños

Y el dataframe 2 contiene:
Palabras
mañana
compartida
ubicación
tiempo
terminar
pendiente
paralelo
correr
después
sueño

El resultado que quiero:
Resultados
Bismillah
para
Amin
Responder
a
shahrilPng
etc

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes resolver este problema utilizando el siguiente código:

    import pandas as pd
    
    # Leer dataframe 1
    df1 = pd.read_csv('dataframe1.csv')
    
    # Leer dataframe 2
    df2 = pd.read_csv('dataframe2.csv')
    
    # Combinar ambos dataframes en la columna común 'Words'
    merged_df = pd.merge(df1, df2, how='outer', left_on='Tweet', right_on='Words')
    
    # Filtrar las palabras que están en el dataframe 2
    results_df = merged_df[merged_df['Words'].isna()]
    
    # Seleccionar solo la columna original 'Tweet'
    results_df = results_df[['Tweet']]
    
    # Renombrar la columna a 'Results'
    results_df.columns = ['Results']
    
    # Guardar el dataframe de resultados en un nuevo archivo CSV
    results_df.to_csv('results.csv', index=False)
    

    Este código primero lee ambos dataframes utilizando la función pd.read_csv(). Luego, combina ambos dataframes en la columna común ‘Words’ utilizando la función pd.merge(). Esto crea un nuevo dataframe que contiene todas las palabras del dataframe 1, con las palabras correspondientes del dataframe 2 cuando están disponibles.

    A continuación, filtramos las filas donde la columna ‘Words’ es NaN, lo cual nos da todas las palabras que estaban en el dataframe 1 pero no en el dataframe 2. Luego seleccionamos solo la columna original ‘Tweet’, la renombramos a ‘Results’ y guardamos el dataframe de resultados en un nuevo archivo CSV utilizando la función to_csv().

    El dataframe resultante ‘results_df’ contendrá todas las palabras del dataframe 1 que no están en el dataframe 2, que es lo que la persona que formuló esta pregunta estaba buscando.

Comments are closed.