Здравствуйте, я начинающий питонист, и у меня проблема: Я пытаюсь заменить значения в каждой ячейке DF через функцию, но времени это занимает очень долго, кто может подсказать, как можно оптимизировать данную фишку?
Python:
def bonus(arg):
'''
Input : Строка таблицы
Берётся 8-ая ячейка этой строки.
Проверка на наличие "%",если оно есть, то мы удаляем из этой ячейки его, потом удаляем
все пробелы, преобразуем в float, делим на 100, ведь это проценты.
Потом умножаем уже на стоимость дома и переводим в тысячи.
Если там 0, то возвращаем 0
Если там ни 0, ни %, значит там указан бонус. Удаляем пробелы и "руб.",
переводим в float и в тысячи
OutPut: Число - Бонус агенту
'''
if '%' in arg[8]:
return float(arg[8].replace('%','').replace(' ',''))/100*arg[7]/1000
if arg[8]=='0':
return 0
else:
return float(arg[8].replace('руб.','').replace(' ',''))/1000
Python:
for i in range(msc_2.shape[0]):
msc_2['Бонус агенту'][i] = bonus(msc_2.iloc([i])
Последнее редактирование: