Хотите объединить 2 таблицы и пустое поле должны заполнить первые строки таблицы.

DF1 :

Col1 Col2 Col3
A    B    C

DF2 :

Col6  Col8
1      2
3      4
5      6
7      8
9      10

Я ожидаю результата, как показано ниже:

Col1 Col2 Col3 Col6  Col8
A    B    C    1     2
A    B    C    3     4
A    B    C    5     6
A    B    C    7     8
A    B    C    9     10
1
Learnings 18 Сен 2018 в 14:23

2 ответа

Лучший ответ

Используйте assign, но тогда необходимо изменить порядок столбцов:

df = df2.assign(**df1.iloc[0])[df1.columns.append(df2.columns)]
print (df)
  Col1 Col2 Col3  Col6  Col8
0    A    B    C     1     2
1    A    B    C     3     4
2    A    B    C     5     6
3    A    B    C     7     8
4    A    B    C     9    10

Или concat и замените {{ X1}} путем прямого заполнения ffill:

df = pd.concat([df1, df2], axis=1).ffill()
print (df)
  Col1 Col2 Col3  Col6  Col8
0    A    B    C     1     2
1    A    B    C     3     4
2    A    B    C     5     6
3    A    B    C     7     8
4    A    B    C     9    10
1
jezrael 18 Сен 2018 в 11:34

Вы можете объединить оба фрейма данных по индексу с внешним соединением и заполнить данные вперед

df1.merge(df,left_index=True,right_index=True,how='outer').fillna(method='ffill')

Вне:

    Col6 Col8 Col1 Col2 Col3
0   1   2   A   B   C
1   3   4   A   B   C
2   5   6   A   B   C
3   7   8   A   B   C
4   9   10  A   B   C
1
Naga kiran 18 Сен 2018 в 11:32