Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2020, 13:55   #1
maksdev1981
Новичок
Джуниор
 
Регистрация: 10.09.2020
Сообщений: 2
По умолчанию Найти дубликаты в двух фреймах данных

Доброго времени суток, собственно сабж: есть два pandas.dataframe нужно найти записи в первом фрейме, которые есть во втором и их как-нибудь пометить сделал через перебор фреймов - очень долго, есть ли стандартные способы pandas?
Код:
df3 = pd.DataFrame(columns=['Фамилия', 'Имя', 'Отчество', 'Дата рождения'])
i = 0
for index, row in df1.iterrows():
    for index1, row1 in df2.iterrows():
        if row[4] == row1[4]:
            df3.loc[i] = [row[0], row[1], row[2], row[3]]
            i = i + 1
Делаю так - но очень долго перебирает

Последний раз редактировалось maksdev1981; 10.09.2020 в 14:13.
maksdev1981 вне форума Ответить с цитированием
Старый 10.09.2020, 21:21   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Возможно и есть, я не дока.
Но можно отметить, что в вашем варианте для каждой строки из df1 вы просматриваете весь df2.
Думаю, что если предварительно выполнить сортировку df1 и df2, например, по фамилии, то отбор можно ускорить.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 11.09.2020, 08:40   #3
maksdev1981
Новичок
Джуниор
 
Регистрация: 10.09.2020
Сообщений: 2
По умолчанию

ViktorR, Я не весь код показал делал и сортировку естественно, прибавка в скорости была, но незначительная. Остановился на классике пока - загрузил оба фрейма в базу данных и sql обработал, но все таки уверен, что есть способ сделать это и не выгружая данные никуда Кто бы направил
maksdev1981 вне форума Ответить с цитированием
Старый 13.09.2020, 18:46   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Натолкнулся на книгу:
Плас Дж. Вандер, Python для сложных задач: наука о данных и машинное обучение, 2018.
Глава 3. Манипуляции над данными с помощью пакета Pandas

Может это поможет?
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть два екселевского файла, нужно в них как-то строки проверить на дубликаты, по возможности эти дубликаты строк найти и как ни будь пометить, например заливтой ячейки. L6go1as Общие вопросы C/C++ 1 23.06.2013 22:51
ссылки во фреймах Света12 Помощь студентам 0 02.11.2012 18:39
Найти матрицу, представляющую собой сумму двух данных матриц lokomotiv C# (си шарп) 0 17.12.2011 14:34
найти пересечение двух прямоугольников заданных координатами двух углов Этотак Помощь студентам 0 11.05.2011 23:55
Помогите найти дубликаты в столбце komar73 Microsoft Office Excel 8 30.06.2009 20:21