Изменение кадра данных в цикле forPython

Программы на Python
Anonymous
Изменение кадра данных в цикле for

Сообщение Anonymous »


Я просматриваю код Python (я не часто использую Python, так как не знаю нюансов шаблонов проектирования) и увидел следующий комментарий

Изменение кадров данных в цикле неэффективно и не стилистически. TODO: найти альтернативу для следующего кода:

для идентификатора в идентификаторах: rows4id = df.id == идентификатор date2scale = get_date2scale(date4id[id]) df.loc[rows4id, «масштаб»] = df.loc[rows4id, «дата»].map(date2scale) Как еще можно написать такой код, чтобы сделать его «более эффективным и стилистическим?»

Пример:

df = pd.DataFrame({ «идентификатор»: [0, 1, 2], «дата»: [10, 10, 10], «масштаб»: [0, 0, 0] }) идентификаторы = [1, 2] защита get_date2scale (идентификатор): если идентификатор == 1: вернуть {10:5.1} идентификатор элиф == 2: возврат {10:5.2} еще: поднять ValueError, «Не следует вызывать этот идентификатор» Результат должен быть:
df = pd.DataFrame({ «идентификатор»: [0, 1, 2], «дата»: [10, 10, 10], «масштаб»: [0, 5.1, 5.2] })

Вернуться в «Python»