对多个 pandas dataframe 进行 join

对多个 pandas dataframe 进行 join

貌似没有对多个 dataframe 进行 join 的方法,比较笨的就是手动挨个 join。
今天学习到一个新的方法,使用 functools.reduce 方法。我之前还纳闷,python 这样一种 functional programming 的语言,怎么会没有 map/reduce/filter。原来 python3 把这 reduce 放在 functools 里面了。。。

import pandas as pd
dfs = [df0, df1, df2, dfN]
from functools import reduce
df_final = reduce(lambda left,right: pd.merge(left,right,on='name'), dfs)

Reference

https://stackoverflow.com/questions/23668427/pandas-joining-multiple-dataframes-on-columns
https://docs.python.org/3/library/functools.html#functools.reduce

猜你喜欢

转载自blog.csdn.net/CY_TEC/article/details/80768527