Я раньше не работал с Pandas, и я ищу рекомендации по наилучшему курсу действий.
В настоящее время у меня есть электронная таблица excel (.xlsx), которую я читаю в DataFrame Pandas. В этой электронной таблице Excel он содержит данные учетной записи, контрольный номер документа, идентификатор контракта, идентификатор контракта с производителем, номер серии, включая исключения, дату начала, дату окончания и идентификатор клиента поставщика.
Из этих данных все номера счетов необходимо скопировать обратно в каждую строку данных из ключа документа co, контрольного номера документа, идентификатора контракта, идентификатора контракта производителя, серийного номера, включая исключение, дату начала, дату окончания и идентификатор клиента поставщика. .
Вот пример данных:

Я прочитал в DataFrame и повторил DataFrame со следующим кодом:
#reads in template data. Keeps leading zeros in column B and prevents "NaN" from appearing in blank cells
df = pd.read_excel('Contracts.xlsx', converters = {'document_key_co' : lambda x: str(x)}, na_filter = False)
#iterates over rows
for row in df.itertuples():
print(row)
После того, как я сделал все это, я застрял. Желаемый результат таков:

Как видите, в каждый идентификатор контракта скопировано три учетных записи.
Прочитав документацию Pandas, я подумал о том, чтобы разделить каждую учетную запись на отдельный DataFrame и использовать concat/объединение ее с другим DataFrame, который включал ключ документа co-vendors customer id, но чувствовал, что это было много дополнительного кода, когда, вероятно, было лучше решение.
@cronoik Прошу прощения, я исправил свою ошибку. Спасибо за исправление!





Я смог выполнить задачу, используя этот фрагмент кода:
concats = []
for x in df.account.values:
concats.append(df.copy())
concats[-1].account = x
pd.concat(concats)
Добро пожаловать в stackoverflow.com. Пожалуйста, не публикуйте скриншоты вашего кода. Добавьте код непосредственно к вашему вопросу.