Это загруженный вопрос, так как я могу найти, как каждый из них делается по отдельности, но хочу собрать все это вместе, особенно в группах.Цель состоит в том, чтобы использовать 2 значения в качестве диапазона и интерполировать значения между ними с заданным интервалом.Далее я хочу столбец с промежуточной суммой (однако, я знаком с этим. Это функции интерполяции, которые я не понимаю в группе).
Как уже говорилось, я начал с базового, и он работаетидеально, то есть:
df = pd.DataFrame({'minute':[1,3,4,5,8],'value':[1,4,7,10,13]})
max_value = df['minute'].max()
df.index = df.minute
df2 = pd.DataFrame({'minute':range(0,max_value), 'Value':0})
df2.index = df2.minute
df2.value = df.value
df2= df2.fillna(0)
Но теперь, если добавить дополнительный столбец, как применить это к 'id' 'a'
и id
'h'
?
Итак, с учетом этого кадра данных:
df = pd.DataFrame([['a', '0', '10'],
['a', '1', '10'],
['h', '2', '15'],
['a', '1', '10'],
['h', '3', '20'],
['h', '13', '5']], columns = ['id','minute','value'])
Я хотел бы сгенерировать этот вывод, который будет сгруппирован по столбцу id
, интерполирован по столбцу minute
, где min0, max - это максимальное значение в этом столбце, и введите 0 в столбце значений.
Пример Вывод:
id minute value sum
a 0 10 10
a 1 20 30
a 2 0 30
a 3 0 30
a 4 0 30
a 5 0 30
a 6 0 30
a 7 0 30
a 8 0 30
a 9 0 30
a 10 0 30
a 11 0 30
a 12 0 30
a 13 0 30
h 0 0 0
h 1 0 0
h 2 15 15
h 3 20 35
h 4 0 35
h 5 0 35
h 6 0 35
h 7 0 35
h 8 0 35
h 9 0 35
h 10 0 35
h 11 0 35
h 12 0 35
h 13 5 40