Skip to content

Instantly share code, notes, and snippets.

@alejio
Created March 14, 2017 13:30
Show Gist options
  • Save alejio/c7d4829369e91c4c4c703264249cfbc7 to your computer and use it in GitHub Desktop.
Save alejio/c7d4829369e91c4c4c703264249cfbc7 to your computer and use it in GitHub Desktop.
pandas joining multiple dataframes on columns
#Assumed imports:
import pandas as pd
#John Galt's answer is basically a reduce operation. If I have more than a handful of dataframes, I'd put them in a list like this (generated via list comprehensions or loops or whatnot):
dfs = [df0, df1, df2, dfN]
#Assuming they have some common column, like name in your example, I'd do the following:
df_final = reduce(lambda left,right: pd.merge(left,right,on='name'), dfs)
#That way, your code should work with whatever number of dataframes you want to merge.
#Edit August 1, 2016: For those using Python 3: reduce has been moved into functools. So to use this function, you'll first need to import that module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment