Я хотел бы объединить два фрейма данных на основе двух условий: 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
Заранее спасибо!