我有以下用于合并的代码:
df_merge_1 = pd.merge(df_order_products_prior, df_products, on="product_id", how="left")
df_merge_2 = pd.merge(df_order_products_prior, df_products, on=[“product_id”,”user_id] how=“inner”)
是否存在用于不同合并的非常通用的函数编写方式?
我的功能:
def merge_df(df1, df2):
return pd.merge(
df1, df2, how='inner', on=[“product_id”, ”user_id],
suffixes=('', '_y')
但是,我希望它更具动态性,可以将以下值传递给Function:
将合并的列名(可以是单列/多列-视情况而定)
操作方式-可以变化(内,左,右)
答案 0 :(得分:2)
您想要这样的东西吗?
def merge_df(df1, df2, on, how='inner', suffixes=('', '_y')):
return pd.merge(df1,
df2,
how=how,
on=on.split(','),
suffixes=suffixes)