Найти разницу в столбцах в двух DataFrame

Есть два DataFrame с большим количеством столбцов. Нужно узнать, какие НЕ встречаются одновременно в обоих.

Пример:

df1 = pd.DataFrame({'x': [1,2,3],'y': [1,2,3],'z': [1,2,3]})
df2 = pd.DataFrame({'x': [1,2,3],'y': [1,2,3]})

Ожидаемый результат: столбец z


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь set.symmetric_difference():

In [24]: set(df1).symmetric_difference(set(df2))
Out[24]: {'z'}

или, используя Pandas:

In [25]: df1.columns.symmetric_difference(df2.columns)
Out[25]: Index(['z'], dtype='object')
→ Ссылка