В Excel я использовал расчет, как показано ниже: 0,16667 * 10 ^ ((C15-121.1) / 10). Расчет сделан на D14.
Фрейм данных
На рисунке я хочу сделать для столбца «0» индекса 0 следующий расчет: = 0,16667 * 10 ^ (( 91,03 -121,1) / 10). Это означает, что температура в индексе 1 используется для вычисления для столбца «0» в индексе 0. Это должно быть так для всего столбца
Дальнейшее объяснение:
Temp Calculation
0 90.01 0.16667*10^((91.03-121.1)/10)
1 91.03 0.16667*10^((95.06-121.1)/10)
2 95.06 0.16667*10^((100.07-121.1)/10)
3 100.07 0.16667*10^((103.00-121.1)/10)
4 103.00
Так посмотрите на расчет в DF. временные значения в расчете на одну температуру выше текущего индекса
РЕДАКТИРОВАТЬ:
List1= [90.01, 91.03, 95.06, 100.07, 103.50]
test = pd.DataFrame(List1, columns=["Temp"])
, затем я хочу добавить вычисление:
test["calculation"] = 0.16667*10^((test["Temp"][1:]-121.1)/10)
это дает следующее ошибка:
TypeError: Cannot perform 'rxor' with a dtyped [float64] array and scalar of type [bool]
РЕДАКТИРОВАТЬ 2:
test["calculation"] = 0.16667*10**((test["Temp"][1:]-121.1)/10).reset_index()
test returns:
Temp calculation
0 90.01 1.6667
1 91.03 16.6670
2 95.06 166.6700
3 100.07 1666.7000
4 103.50 NaN
Способ расчета хорош. Но результат другой. когда температура равна 100,07, результат должен быть 0,001314. см. ниже:
test2 = 0.16667*10**((100.07-121.1)/10)
out: 0.0013147931580348442