Как создать Dataframe со строками из двух других dataframe? - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь объединить данные.У меня есть список строк, которые содержат данные, которые соответствуют между двумя кадрами данных.

Итак, допустим, что строка 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)

, но полученный последний кадр данных не добавляетсяони в правильном направлении

1 Ответ

0 голосов
/ 17 ноября 2018

легкий гороховый лимон

pd.concat([ df1.iloc[300], df2.iloc[2]], axis = 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...