Как вывести только не совпадающие данные в pandas?
Сравниваю две таблицы excel:
df1 = pd.read_excel(self.filename, skiprows=2, header=None, usecols=[3,4,5,20])
df2 = pd.read_excel(self.filename1, skiprows=2, header=None, usecols=[3,4,5,20])
difference = df1[df1 != df2]
результат сравнения вывожу в третью таблицу:
df1.to_excel(r"C:\Users\User\Desktop\Результат.xlsx")
но в неё попадают все строки. Как их убрать, оставив лишь те, которые не совпали с первой таблицей?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Если наименования столбцов в обоих фреймах совпадают, то можно попробовать сделать так:
diff = df1.loc[df1.ne(df2).any(axis=1)]
Пример решения для данных по ссылке:
In [105]: df2.loc[df1.ne(df2).any(axis=1)]
Out[105]:
№ Товар Цена
0 0 Карандаш 70
3 3 Резинка 50