랭귀지/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)