랭귀지/pandas
a,b,c,d 컬럼을가진 df가 있는데 a컬럼읔 drop하고b,c로 distinct 하는데 d컬럼 알파벳오름차순 첫번째값만 남긴다
유키공
2024. 9. 20. 15:46
import pandas as pd
# 예시 DataFrame 생성
data = {
'a': [1, 1, 2, 2, 3],
'b': ['x', 'x', 'y', 'y', 'z'],
'c': ['p', 'q', 'p', 'q', 'p'],
'd': ['banana', 'apple', 'orange', 'grape', 'kiwi']
}
df = pd.DataFrame(data)
# a 컬럼 드롭
df = df.drop(columns=['a'])
# b, c로 distinct한 후 d 컬럼의 알파벳 오름차순 첫 번째 값만 남기기
result = df.sort_values('d').groupby(['b', 'c'], as_index=False).first()
print(result)