Что касается метода Pandas: df.merge(), то это их удобный способ получить сводную статистику слияния (например, количество совпадений, количество несоответствий и т. Д.), , Я знаю, что эта статистика зависит от того, как «внутреннего» флага =, но было бы удобно знать, сколько в настоящее время «отбрасываются» при использовании внутреннего соединения и т.д. Я мог бы просто использовать:Pandas: df_left.merge (df_right) Сводная статистика
df = df_left.merge(df_right, on='common_column', how='inner')
set1 = set(df_left[common_column].unique())
set2 = set(df_right[common_column].unique())
set1.issubset(set2) #True No Further Analysis Required
set2.issubset(set1) #False
num_shared = len(set2.intersection(set1))
num_diff = len(set2.difference(set1))
# And So on ...
Но подумал, что это могут быть реализованы уже. Я пропустил это (например, что-то вроде report = True для слияния, которое вернет new_dataframe и серию отчетов или фрейм данных)
Просто говоря, 'установить (df_right [common_column] .unique())' так же, как 'набор (df_right [common_column])' :) –
Я не думаю, что есть встроенный способ сделать это, но с установленным (и, вероятно, вашим путем) это будет достаточно эффективно. –
Ahh ... да действительно re: задайте комментарий! Благодаря :) – sanguineturtle