Хобрук: Ваш путь к мастерству в программировании

Как объединить кадры данных pandas и перезаписать значения, соответствующие совпадающим строкам в одном из них?

Я хотел бы объединить два кадра данных в python, как показано ниже.

Если df1: введите здесь описание изображения

и df2: введите здесь описание изображения

Я бы хотел, чтобы результат выглядел так: введите здесь описание изображения

По сути, мне нужно, чтобы два фрейма данных объединились с точки зрения дней, а дни были в порядке; дни имеют соответствующие значения скорости, которые должны оставаться неизменными, если, например, если вы посмотрите на день 9, он находится в обеих dfs, а скорости отличаются, скорость от df2 необходимо сохранить.

Я действительно хорошо разбираюсь в python и плохо понимаю pd.merge, поэтому я был бы очень признателен, если бы кто-нибудь помог.

Большое спасибо !

21.02.2019

Ответы:


1

Вы ищете combine_first

df2.set_index('day',inplace=True)
df2=df2.combine_first(df1.set_index('day')).reset_index()
df2
Out[552]: 
   day  val
0    2  1.0
1    3  1.0
2    4  2.0
3    5  2.0
4    6  2.0
5    7  2.0
6    8  2.0
7    9  3.0
8   12  3.0
21.02.2019

2

Используя concat(), sort_values() и drop_duplicates():

>> outcome = pd.concat([df1, df2]).sort_values('days').drop_duplicates(subset=['days'],keep='last').reset_index(drop=True)
>> outcome
    days    interest rate
0   2   0.02560
1   3   0.01230
2   4   0.01470
3   5   0.25600
4   6   0.78560
5   7   0.09850
6   8   0.05890
7   9   0.02268
8   12  0.01235
21.02.2019
  • Два 9 в днях. 21.02.2019
  • Новые материалы

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

    Математика и интуиция - Часть 1
    У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

    Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
    В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

    Под поверхностью: раскрытие деталей системы с помощью инструментов Linux CLI
    Чем больше вы изучаете Linux и продвигаетесь вперед, тем больше вам нужно проверять информацию о вашей системе. Эта информация может касаться аппаратного обеспечения, такого как процессор,..