Объединение 3 фреймов данных в индивидуальном форматеPython

Программы на Python
Ответить
Anonymous
 Объединение 3 фреймов данных в индивидуальном формате

Сообщение Anonymous »

Я ученик, выполняю свой первый проект с использованием Pandas, поэтому прошу прощения, если я ошибаюсь в каких-либо терминах или если мой вопрос очень очевиден.
Я пытаюсь сопоставить информацию из трех DataFrames используя UniqueID в качестве общего ключа.
DataFrames:
  • Main — содержит контактную информацию. Столбцы: UniqueID, Name, Address, Email, InvestmentEntryNumber (количество строк Investment), CapitalEntryNumber (количество строк Capital).
  • Investment — содержит сведения об инвестициях. Столбцы: UniqueID, Подробности, Стоимость
  • Капитал — содержит сведения о капитале: Столбцы: UniqueID, Описание, Общие расходы
Результат будет сохранен в виде файла Excel. Таблицу необходимо отформатировать определенным образом, чтобы данные в «Основной» не повторялись:
(https://i.sstatic.net/6jQf9KBM.png)
Я понимаю, что пропускать данные/размещать данные таким образом не является хорошей практикой, но заинтересованные стороны хотят получить информацию именно в этом формате.
Также есть ли способ закодировать форматирование таблиц в excel (например, цвета в таблице, границы, разделяющие разделы с основной информацией)?
Заранее спасибо
У меня есть решение, когда я объединить «Основные» и «Инвестиционные», но не тогда, когда я также объединяю данные «Капитал».

Код: Выделить всё

Investment_merged_df = Main_df.merge(Investment_df, on="UniqueID")

Код: Выделить всё

for each_row in range(1, len(Investment_merged_df["UniqueID"])):     if Investment_merged_df["UniqueID][each_row] == Investment_merged_df["UniqueID"][each_row-1]:         Investment_merged_df.loc[each_row, "True/False"] = True     else:         Investment_merged_df.loc[each_row, "True/False"] = False

Код: Выделить всё

Investment_merged_df.loc[Investment_merged_df["True/False"] == True, Investment_merged_df.columns[:5]] = ""

Код: Выделить всё

Investment_merged_df = Investment_merged_df.drop(columns=['True/False'])
В конечном итоге я сделал это и для данных «Капитал», а затем вручную объединил их в Excel, но это сводит на нет всю цель автоматизации этого процесса с помощью Python Pandas
Я подумал, может быть, есть способ использовать «InvestmentEntryNumber» и «CapitalEntryNumber»?

Подробнее здесь: https://stackoverflow.com/questions/793 ... oke-format
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»