【发布时间】:2018-07-11 13:52:56
【问题描述】:
我在下面有一个示例df1...我需要通过从列的其余部分减去每列底部的值来创建一个新的df_sub。
df_sub = i(每列中的每个值) - (a_squared * Temp + b * Temp + c)**
例如df1.head()
Temperature A1 A2 A3 A4
25.0 681.51 147.40 409.26 680.83
25.2 615.89 124.34 362.39 618.37
25.4 568.72 95.22 310.37 567.22
25.6 522.08 89.74 272.69 516.53
25.8 480.04 68.20 229.03 477.30
例如df1.tail()
Temperature A1 A2 A3 A4
95.0 -102.14 6348.77 2276.56 -2545.60
a 15.26 10.67 -1.87 13.25
b -1016.94 -623.29 29.40 -902.77
c 16557.63 9044.62 715.07 14941.87
a_squared 232.95 113.95 3.53 175.65
这是我尝试过的,但我得到的错误...
df_sub = df1.iloc[:-4] - (Temp * df1.iloc[-1, :] + (Temp * df1.iloc[-3, :]) + df1.iloc[-2, :])
Temp 是一个类似的列表:np.arange(25, 95.2, 0.2)
ValueError: 操作数无法与形状 (96,) (351,) 一起广播
任何帮助将不胜感激!
【问题讨论】:
-
A1 到 A4 列是什么意思?这些是测量值吗?这是您正在建模的物理现象吗?
-
@heltonbiker 它们是温度加热实验的测量值……实际上有更多的列和行。
-
所以你的问题的第一项似乎很奇怪。如果要计算
np.polyfit(x, y, 2),则需要x值和y值。但是您提到“每列的第 0、1、2 行”,这将给出三个序列,而不是两个。那么x从哪里来,y从哪里来? -
现在有什么想法@heltonbiker?
-
对不起,我仍然觉得这很混乱。具体来说,对每个温度值应用不同回归的想法似乎没有意义。假设你得到这个工作,你希望如何使用找到的公式?推断温度值?或者在给定温度值的情况下推断传感器读数?我认为通过更好地理解来分析您的困难会容易得多。