아미(아름다운미소)

a,b,c,d 컬럼을가진 df가 있는데 a컬럼읔 drop하고b,c로 distinct 하는데 d컬럼 알파벳오름차순 첫번째값만 남긴다 본문

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