Объединить 2 разных фрейма данных - Python 3.6 - PullRequest
0 голосов
/ 18 сентября 2018

Хотите объединить 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

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

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

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

Out:

    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
0 голосов
/ 18 сентября 2018

Используйте 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 и заменить NaN s на форвардзаполнение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...