«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как найти строки, присутствующие в одном кадре данных, но не в другом (сравнивая df1 и df2)?

Как найти строки, присутствующие в одном кадре данных, но не в другом (сравнивая df1 и df2)?

Опубликовано 8 ноября 2024 г.
Просматривать:772

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

Сравнение фреймов данных: поиск строк, присутствующих в одном, но не присутствующих в другом

Сравнение фреймов данных для выявления различий имеет решающее значение для обеспечения качества данных и слияния операции. В этом случае у нас есть два фрейма данных (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.

Заявление о выпуске Эта статья перепечатана по адресу: 1729343178. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3