아미(아름다운미소)

pandas a df에서 b컬럼을 distinct 했을때 c컬럼이 true인 d컬럼의값을 copy해서 a df에 넣어주는 예제 본문

랭귀지/pandas

pandas a df에서 b컬럼을 distinct 했을때 c컬럼이 true인 d컬럼의값을 copy해서 a df에 넣어주는 예제

유키공 2024. 8. 6. 08:24
import pandas as pd

# 예제 DataFrame 생성
data = {
    'b': ['x', 'y', 'x', 'z', 'y', 'z'],
    'c': [True, False, True, True, False, True],
    'd': [10, 20, 30, 40, 50, 60]
}

a_df = pd.DataFrame(data)

# c가 True인 경우에 대해 distinct b 값을 기준으로 d 값을 복사
result = a_df[a_df['c']].drop_duplicates(subset='b')[['b', 'd']]

# a_df에 결과를 merge하여 추가
a_df = a_df.merge(result, on='b', how='left', suffixes=('', '_copy'))

print(a_df)
Comments