C'est comme ça si vous écrivez d'abord la conclusion.
df3 = df1[~df1['row1'].isin(df2['row2'])]
À partir d'une trame de données df1 La colonne'row1 'de la trame de données et Comparer la colonne 'Row2' de la trame de données df2 à comparer Je veux extraire une ligne de df1 qui a row1 qui n'existe pas dans row2.
C'est comme ça quand il est écrit en SQL.
SELECT * FROM df1
WHER df1.row1 NOT IN (SELECT row2 FROM df2)
Données de df1
color | row1 |
---|---|
red | eagle |
blue | shark |
yellow | lion |
green | elephant |
white | tiger |
black | world |
données df2
name | row2 |
---|---|
Sela | shark |
Leo | lion |
Tusk | elephant |
Amu | tiger |
Données que vous souhaitez récupérer à partir de df1
color | row1 |
---|---|
red | eagle |
black | world |
Zyuohger.py
import pandas as pd
df1 = pd.DataFrame({
'color':['red', 'blue', 'yellow','green', 'white','black',],
'row1' :['eagle','shark','lion', 'elephant','tiger','world',],
})
df2 = pd.DataFrame({
'name':['Sela', 'Leo', 'Tusk', 'Amu',],
'row2':['shark','lion','elephant','tiger',],
})
df3 = df1[~df1['row1'].isin(df2['row2'])]
print df3
Une fois exécuté, ce sera comme suit.
$ python Zyuohger.py
color row1
0 red eagle
5 black world