아미(아름다운미소)

df a컬럼이 null인경우 b컬럼을 groupby해서 b그룹의 c컬럼에서 알파벳이 가장 빠른값을 a컬험에 채워넣기 본문

랭귀지/pandas

df a컬럼이 null인경우 b컬럼을 groupby해서 b그룹의 c컬럼에서 알파벳이 가장 빠른값을 a컬험에 채워넣기

유키공 2024. 9. 4. 12:53
df['a'] = df['a'].str.split('-to-SCP-', expand=True)[1].fillna(df['a'].str.split('--', expand=True)[0])
import pandas as pd

# 예시 DataFrame 생성
data = {
    'a': [None, 'x', None, 'y', None],
    'b': ['group1', 'group1', 'group2', 'group2', 'group1'],
    'c': ['banana', 'apple', 'orange', 'kiwi', 'avocado']
}
df = pd.DataFrame(data)

# a 컬럼이 null인 경우에 대해 처리
df['a'] = df.apply(
    lambda row: df[df['b'] == row['b']]['c'].min() if pd.isnull(row['a']) else row['a'],
    axis=1
)

print(df)
Comments