Пользовательская функция для объединения панд данных - PullRequest
0 голосов
/ 26 июня 2019

У меня есть следующие коды для слияния:

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')

Но я хотел, чтобы это было более динамичным, чтобы я мог передать следующие значения в функцию:

  1. Имена столбцов, по которым он будет объединяться (это может быть один столбец /несколько столбцов - меняется от случая к случаю)

  2. Как - может варьироваться (внутренний, левый, правый)

1 Ответ

2 голосов
/ 26 июня 2019

Хотите что-то вроде этого:

def merge_df(df1, df2, on, how='inner', suffixes=('', '_y')):
    return pd.merge(df1,
                    df2,
                    how=how,
                    on=on.split(','),
                    suffixes=suffixes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...