Передать значение в функцию из DataFrame pandas
DataFrame pandas выглядит следующим образом:
data period day night квт\день квт\ночь
0 1705269600 2024-01 26983 9184 NaN NaN
1 1707948000 2024-02 27130 9239 147.0 55.0
2 1710453600 2024-03 27281 9297 151.0 58.0
3 1713128400 2024-04 27444 9346 163.0 49.0
Мне необходимо:
- Взять каждое значение столбца data и передать в функцию которая возвращает стоимость (число)
- Полученое число и записать в новый столбец например res['cost']
Пытался:
res['cost']=findStoimostEl(res['data'])
Функция выглядит так :
def findStoimostEl(dat):
select_movies_query ="SELECT `data_d` FROM `cost_electricity` WHERE '"+str(dat)+"' BETWEEN `data_start` AND `data_end`"
with db.cursor() as cursor:
cursor.execute(select_movies_query)
result = cursor.fetchall()[0][0]
return result
Выдает ошибку запросса т.к. в функцию передаються значениея вместе с индыксами.
Подскажите как правильно это реализовать. Благодарю!
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Попробуйте применить вашу функцию поэлементно к каждому значению столбца, используя функцию map
:
res['cost'] = res['data'].map(findStoimostEl)