присоединиться к индексу И столбцу - PullRequest
0 голосов
/ 26 мая 2020

Я хотел бы объединить два фрейма данных на основе двух условий: 1. Присоединиться через индекс 2. Если два заголовка столбца находятся в обоих фреймах данных, присоедините их также

Чтобы привести пример, представьте, что у меня есть эти два фрейма данных:

import pandas as pd
import numpy as np

df1 = pd.DataFrame({'date': [2010, 2011, 2012],
               'a': [np.NaN, 30, np.NaN],
               'b': [55, np.NaN, np.NaN],
               'c': [55, 40, 84]})
df1 = df1.set_index("date")

df2 = pd.DataFrame({'date': [2010, 2011, 2012],
               'a': [10, np.NaN, 30],
               'b': [np.NaN, 80, 84],
               'd': [55, 40, 84]})
df2 = df2.set_index("date")

, если я теперь присоединюсь к ним через pd.concat, я дважды получу столбцы, такие как «a»:

pd.concat([df1, df2], axis=1) 

         a      b      c    a       b       d
date                        
2010    NaN     55.0   55   10.0    NaN     55
2011    30.0    NaN    40   NaN     80.0    40
2012    NaN     NaN    84   30.0    84.0    84

Но я бы предпочел:

         a      b      c     d
date                        
2010    10.0    55.0   55    55
2011    30.0    80.0   40    40
2012    30.0    84.0   84    84

Заранее спасибо!

1 Ответ

1 голос
/ 26 мая 2020

Попробуйте это, добавьте

print(df1.set_index('date').add(df2.set_index("date"), fill_value=0))

         a     b     c     d
date                        
2010  10.0  55.0  55.0  55.0
2011  30.0  80.0  40.0  40.0
2012  30.0  84.0  84.0  84.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...