Сравнение фреймов данных: поиск строк, присутствующих в одном, но не присутствующих в другом
Сравнение фреймов данных для выявления различий имеет решающее значение для обеспечения качества данных и слияния операции. В этом случае у нас есть два фрейма данных (df1 и df2) с определенной структурой, и нам необходимо определить строки, присутствующие в df2, но не в df1.
Первоначально попытки сравнить фреймы данных с использованием df1 != df2 привели к ошибке ошибка. Этот подход работает только для фреймов данных с одинаковыми строками и столбцами. Чтобы найти симметричные различия, нам нужен другой подход.
Один метод включает в себя объединение фреймов данных:
df = pd.concat([df1, df2]) df = df.reset_index(drop=True)
Затем группируем объединенный фрейм данных по всем столбцам:
df_gpby = df.groupby(list(df.columns))
Далее мы идентифицируем уникальные записи, получая значения индекса, в которых существует только одна строка:
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
Используя эти индексы, мы можем фильтровать кадр данных для получения желаемого результата:
df.reindex(idx)
Этот подход обеспечивает строки, присутствующие в df2, но отсутствующие в df1 на основе сравнения индекса даты и столбца Fruit.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3