Pandas предлагает богатый API, который вы можете использовать для управления данными, что вы хотите. метод слияния является одним из них. слияние - это высокопроизводительные операции соединения в памяти, идиоматически очень похожие на реляционные базы данных, такие как SQL.
df1 = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df1)
A B
0 1 4
1 2 5
2 3 6
df2 = pd.DataFrame({'A':[1,10,3],'B':[4,5,6]})
print(df2)
A B
0 1 4
1 10 5
2 3 6
df3 = df1.merge(df2.drop_duplicates(),how='right', indicator=True)
print(df3)
A B _merge
0 1 4 both
1 3 6 both
2 10 5 right_only
как вы можете видеть, есть новый столбец с именем _merge с описанием того, как эта строка объединилась, оба означают, что эта строка существует в обоих фреймах данных, где right_only означает, что эта строка существует только в правом фрейме данных который в этом случае df2
если вы хотите, чтобы была изменена только строка, вы можете отфильтровать по столбцу _merge
df3 = df3[df3['_merge']=='right_only']
A B _merge
2 10 5 right_only
Примечание: вы можете выполнить слияние, используя левое соединение, изменив how влево, и это будет
захватить каждую вещь в левом фрейме данных (df1), и если строка также существует в df2, то столбец _merge покажет оба. посмотрите здесь для более подробной информации