Пересчитать фрейм данных с python
Мне нужно пересчитать фрейм данных, используя функцию pandas.DataFrame.resample, например:
data.set_index('TIMESTAMP').resample('24min', how='sum')
Это работает без проблем, но когда я пытаюсь вызвать функцию с 'xmin', где x является общим аргументом
data.set_index('TIMESTAMP').resample('xmin', how='sum')
Не может работать
Любая идея, пожалуйста?
Спасибо
РЕДАКТИРОВАТЬ
def ratio_activ_equip(data, date_deb, date_fin, step):
# filtre_site(data, site)
filtre_date(data, date_deb, date_fin)
xmin = 'stepmin'
data.set_index('TIMESTAMP').resample(xmin, how='sum')
res = data.iloc[:,1:10] = data.iloc[:,1:10].divide(data.sum(axis=1), axis=0)
res = data
return res
EDIT2
def ratio_activ_equip(data, date_deb, date_fin, step): #
# filtre_site(data, site)
filtre_date(data, date_deb, date_fin)
#step = 10
xmin = str(step) + 'min'
data = data.set_index('TIMESTAMP').resample(xmin, how='sum')
data.set_index('TIMESTAMP').resample(xmin, how='sum')
res = data.iloc[:,1:10] = data.iloc[:,1:10].divide(data.sum(axis=1), axis=0)
res = data
return res
Когда я называю это следующим образом:
res = ratio_activ_equip(y, '2016-05-10 22:00:00', '2016-05-14 22:00:00', 30)
Я получаю эту ошибку:
KeyError: 'TIMESTAMP'
Любая идея, пожалуйста?
1 ответ
Решение
IIUC вам нужно передать переменную xmin
:
xmin = '24min'
data.set_index('TIMESTAMP').resample(xmin, how='sum')
Более общим является конвертировать int
значение для str
и добавить подстроку min
:
step = 10
xmin = str(step) + 'min'
data = data.set_index('TIMESTAMP').resample(xmin, how='sum')
step = 10
data = data.set_index('TIMESTAMP').resample(str(step) + 'min', how='sum')