#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
здесь ниже приведен фрейм данных, с которым я работаю:
sn. code code2 code3
1 AB kd kj
2 EX kf li
3 EX ka lt
4 EX n/a ap
Желательно заменить EX в коде значением из code2 или code3.
sn. code code2 code3
1 AB kd kj
2 kf kf li
3 ka ka lt
4 ap n/a ap
Ответ №1:
Поскольку я не большой поклонник сложных однострочных выражений, я бы поступил так:
for _, row in df.iterrows():
c = row['code']
c2 = row['code2']
c3 = row['code3']
if(c=='EX' and c2):
c = row['code2']
elif(c3):
c = c3
row['code'] = c
Ответ №2:
Попробуйте:
df.loc[df['code'].eq('EX'), 'code'] = df[['code2','code3']].bfill(1)['code2']