Как объединить / объединить / объединить заполненный файл данных с пустым блоком данных по индексу и столбцам? - PullRequest
2 голосов
/ 03 апреля 2019

Пример:

   df1 = pd.DataFrame({'a':[0,0,0,0,0,0],
                'b':[0,0,0,0,0,0], 'b':[0,0,0,0,0,0]}, index=list('abcdef'))

print (df1)


       a  b  c
    a  0  0  0
    b  0  0  0
    c  0  0  0
    d  0  0  0
    e  0  0  0
    f  0  0  0

df2 = pd.DataFrame({'a':range(4),
                'b':[5,6,7,8]}, index=list('abce'))

print (df2)

   a  b
a  0  5
b  1  6
c  2  7
e  3  8

Как объединить заполненный фрейм данных в пустой, который будет выглядеть следующим образом?

   a  b c
a  0  5 0
b  1  6 0
c  2  7 0
d  0  0 0
e  3  8 0
f  0  0 0

Проблема в том, что он не подходит для столбцов индекса и .

1 Ответ

0 голосов
/ 04 апреля 2019

Не уверен, что это самый эффективный способ, но он работает:

df3 = pd.merge(df1, df2, how='left', left_index=True, right_index=True, suffixes=('_x', ''))
df3['a'].fillna(df3['a_x'], inplace=True)
df3['b'].fillna(df3['b_x'], inplace=True)
df3.drop(['a_x', 'b_x'], axis=1, inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...