У меня есть два кадра данных панд. Одним из них является временной ряд значений m
и b
из типичной функции y=mx+b
. Другим кадром данных (можно считать серию) является значение x
для нескольких различных категорий. (да, x
остается фиксированным, и линейные параметры в этой ситуации изменяются)
Я хочу создать новый фрейм данных, индекс которого равен formula_df.index
, столбцы - staff.columns
, и значение = mx+b
, полученное умножением значений staff_df на formula_df[m]
и добавлением formula[b]
.
В качестве конкретного примера final_df.loc[pd.IndexSlice['20191204', 'matt']]
будет выглядеть так: (22 * 0,90 + 10)
staff = {"mike": 18, "matt": 22, "dave": 25, "kanad": 15, 'elder':85}
staff_df = pd.DataFrame(data=staff, index = ['measurement'])
staff_df.index.name="evaluation"
the_data = {'m': [.5, .1, .3, .9, 1.2], 'b':[12, 14, 8, 10, 20]}
formula_df = pd.DataFrame(index=pd.date_range(start="20191201", periods=5, freq="d"),
data=the_data)
formula_df.index.name="Date"
Даже попытка сделать mx
часть уравнения не удалась. Я пытался сделать что-то вроде formula_df['m']*staff_df
, но это дает бессмысленный результат. Полагаю, если бы я знал numpy
лучше, было бы понятно, что делать, увы, я не знаю. Я подозреваю, что это что-то касается broadcasting
, но я не уверен.