Я пытаюсь объединить данные.У меня есть список строк, которые содержат данные, которые соответствуют между двумя кадрами данных.
Итак, допустим, что строка 300 в кадре данных 1 относится к той же компании, что и строка 2 в кадре данных 2. В настоящий момент я создаю новый кадр данных с двумя исходными, но он не добавляет их вправильно.
df_final = pd.DataFrame( df1.iloc[300], df2.iloc[2]])
Делая это, я получаю две строки с данными из обоих фреймов данных, где я действительно хочу одну строку, с данными из обоих, добавленными горизонтально.Так что, если у каждого dataframe есть 5 столбцов, я хочу что-то, что имеет 10 столбцов.
import pandas as pd
position_list = [(0, 85, 83),
(1, 134, 67),
(2, 78, 50),
(3, 89, 83),
(4, 90, 83),
(5, 91, 83)]
ammended_results= Name of Applicant CMU ID CMU Name Capacity Awarded Classification Capacity (MW) Duration (Years) Clearing price (£) Yearly CMU Funding (£) Contract Length Funding (£) New Generation Existing Generation New Capacity Existing Capacity
1 SSE Generation Ltd. BURGH1 Burghfield Yes Existing Generating CMU 44.034 1.0 19.4 854259.6 854259.6 0 1 0.000 44.034
2 SSE Generation Ltd. CBEU01 Deanie 1 Yes Existing Generating CMU 15.886 1.0 19.4 308188.4 308188.4 0 1 0.000 15.886
3 SSE Generation Ltd. CBEU02 Deanie 2 Yes Existing Generating CMU 15.886 1.0 19.4 308188.4 308188.4 0 1 0.000 15.886
...
ammended_register = Unique CMU Identifier Type Delivery Year Name of Applicant CM Unit Name
...
BURG18 T-4 2018 SSEPG (Operations) Limited Burghfield
...
По сути, я хочу первую запись из кадра данных результатов с 85-й записью в регистре данных.И создайте новый фрейм данных со всей этой информацией.
В данный момент я использую этот
df_list=[]
for i in range(len(position_list)):
result = position_list[i][1]
df_final = pd.concat(ammended_results.iloc[i], ammended_register.iloc[results]])
df.reset_index(inplace=True, drop=True)
df_list.append(df)
fr = pd.concat (df_list, axis = 0)
, но полученный последний кадр данных не добавляетсяони в правильном направлении