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