合并熊猫数据框的自定义功能

时间:2019-06-26 08:20:06

标签: python-3.x function

我有以下用于合并的代码:

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:

  1. 将合并的列名(可以是单列/多列-视情况而定)

  2. 操作方式-可以变化(内,左,右)

1 个答案:

答案 0 :(得分:2)

您想要这样的东西吗?

def merge_df(df1, df2, on, how='inner', suffixes=('', '_y')):
    return pd.merge(df1,
                    df2,
                    how=how,
                    on=on.split(','),
                    suffixes=suffixes)