У меня есть этот фрейм данных:
grade type
0 402 A
1 312 B
2 321 C
...
Если тип A и значение в столбце оценок, если оно больше 100, я хочу бесконечно умножать его на 0,7, пока оно не достигнет значения ниже 100. Я не нашел хорошего способа сделать это, сейчас я Я использую этот код ниже:
df.loc[(df['type'] == 'A') & (df['grade'] > 100),'grade'] = df['grade']*0.7
(I repeat that 100 times and cross my fingers for 'grade' to be below 100)
Я мог бы просто сделать это несколько раз, и если бы он не достиг, я бы сделал 100, но я не хочу иметь много равных значений в df, а также я не могу поставить случайный компонент в нем.
Есть ли лучший способ сделать это (желательно с Пандами)?