У меня есть дата-карта в год с 2009 по 2016 год. Каждый блок данных имеет два столбца C_ID и столбец года, обозначенный соответственно. Я хочу объединить все файлы данных.Внешнее объединение нескольких баз данных pandas в python
Так, например
df_2009:
C_ID 2009
A 456
B 754
C 332
df_2010:
C_ID 2010
A 3454
C 54
E 234
Я нашел этот подход на другие должности на StackOverflow:
dfs = [df_2009, df_2010, df_2011, df_2012, df_2013, df_2014, df_2015, df_2016 ]
from functools import partial
merge = partial(pd.merge, on=['C_ID'])
result = dfs[0]
for df in dfs[1:]:
result = merge(result, df)
Но, к сожалению это я s внутреннее соединение, и он избавляется от всех C_ID, которые не входят во все наборы данных. Мне нужно сделать внешнее соединение.
вы проверили документацию 'pd.merge'? Для этого есть аргумент ключевого слова 'how'. – cel
Это сработало - большое спасибо – jeangelj