<p>嗯,好吧,我明白了,这样做我根本没有利用向量计算…但我看不到其他的方式。你知道吗</p>
<p>我的数据框是这样的(一年30分钟的步长):</p>
<pre><code> start_date start_hour ... conso temp
start_date_hour ...
2019-01-01 00:00:00 2019-01-01 00:00 ... 0.057 5.684032
2019-01-01 00:30:00 2019-01-01 00:30 ... 0.057 5.663681
2019-01-01 01:00:00 2019-01-01 01:00 ... 0.057 5.655579
2019-01-01 01:30:00 2019-01-01 01:30 ... 0.056 5.655822
2019-01-01 02:00:00 2019-01-01 02:00 ... 0.057 5.664895
2019-01-01 02:30:00 2019-01-01 02:30 ... 0.057 5.654780
.....
</code></pre>
<p>如前所述,对于每一行,我检查索引是否优于或等于2019-01-08,如果是这样,我查看一周前的“conso”和“temp”,然后计算日期“D”的“conso”减去日期“conso”a和日期(D-1week)之间的差值
这里的输出是2019年1月8日起每行的消耗变化和温度变化。你知道吗</p>
<p>然后我将消耗量与温度相乘,温度与温度相乘。你知道吗</p>
<pre><code>for index, row in df.iterrows():
if index >= datetime(year,1,8,0,0):
date_start_j_wb = index - timedelta(days=7)
conso_j = df[df.index == index]["conso"].values
conso_j_wb = df[df.index == date_start_j_wb]["conso"].values
temp_j = df[df.index == index]["temp"].values
temp_j_wb = df[df.index == date_start_j_wb]["temp"].values
s_dconso = conso_j[0] - conso_j_wb[0]
s_dtemp = temp_j[0] - temp_j_wb[0]
prodtemp = s_dtemp*s_dtemp
prodtemp_conso = s_dtemp*s_dconso
</code></pre>
<p>然后我将结果“prodtemp”和“prodtemp\u conso”存储在两个列表中。我们的目标实际上是做一个基本的线性回归。你知道吗</p>
<p>然后我用prodtemp除以prodtemp,再加上每半个小时。你知道吗</p>
<p>但是我上面提到的那部分代码,是减慢一切的那部分。。你知道吗</p>