Skip to content

Instantly share code, notes, and snippets.

@kimpro82
Created July 24, 2023 18:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimpro82/6353a96741fe538899065976b28b60cd to your computer and use it in GitHub Desktop.
Save kimpro82/6353a96741fe538899065976b28b60cd to your computer and use it in GitHub Desktop.
by ChatGPT, not 100% accuracy guaranteed

[Python] Pandas DataFrame을 병합하는 함수 (중복되는 행 제외)

아래는 주어진 조건에 따라 중복되는 행을 제외하고 DataFrame을 병합하는 함수입니다.

import pandas as pd

def merge_dataframes_without_duplicates(df_list, key_columns):
    """
    중복되는 행을 제외하고 DataFrame을 병합하는 함수입니다.

    Parameters:
        df_list (list of pandas.DataFrame): 병합할 DataFrame들이 담긴 리스트입니다.
        key_columns (list of str): 중복 여부를 판단할 기준 열의 이름이 담긴 리스트입니다.

    Returns:
        pandas.DataFrame: 중복을 제외한 병합된 DataFrame을 반환합니다.
    """

    if len(df_list) < 1:
        raise ValueError("빈 DataFrame 리스트가 입력되었습니다.")

    merged_df = df_list[0]
    for df in df_list[1:]:
        merged_df = pd.concat([merged_df, df])
    
    merged_df.drop_duplicates(subset=key_columns, keep='first', inplace=True)

    return merged_df

이 함수는 df_list에 있는 모든 DataFrame을 병합한 뒤 key_columns에 지정된 열을 기준으로 중복된 행을 제거한 결과를 반환합니다. 입력으로 주어진 DataFrame들의 구조가 일치해야 합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment