Maison >développement back-end >Tutoriel Python >Comment trouver des lignes dans un DataFrame Pandas qui ne se trouvent pas dans un autre ?
Obtention de lignes de DataFrame non présentes dans un autre DataFrame
Pour obtenir des lignes d'un DataFrame (df1) qui ne sont pas présentes dans un autre DataFrame (df2 ), les étapes suivantes peuvent être exécutées :
import pandas as pd # Create the two DataFrames. df1 = pd.DataFrame(data={'col1': [1, 2, 3, 4, 5, 3], 'col2': [10, 11, 12, 13, 14, 10]}) df2 = pd.DataFrame(data={'col1': [1, 2, 3], 'col2': [10, 11, 12]}) # Perform a left join, ensuring each row in df1 joins with a single row in df2. df_all = df1.merge(df2.drop_duplicates(), on=['col1', 'col2'], how='left', indicator=True) # Create a boolean condition to identify rows in df1 that are not in df2. condition = df_all['_merge'] == 'left_only' # Filter df1 based on the condition. result = df1[condition]
Cette approche garantit que seules les lignes de df1 qui n'existe pas dans df2 sont extraits en tenant compte des deux valeurs de colonne de chaque ligne. Les solutions alternatives qui vérifient indépendamment les valeurs de colonnes individuelles peuvent conduire à des résultats incorrects.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!