擅长:python、mysql、java
<p>每秒钟都要删除重新组织所有数据帧,这是一项代价高昂的操作:</p>
<pre><code>In [6]: %timeit df.drop(4)
10 loops, best of 3: 17.3 ms per loop
</code></pre>
<p>通过固定的滚动缓冲器可以避免这种情况,从而有效地存储传感器数据。索引只是一个整数,一天中每秒一个。在</p>
^{pr2}$
<p>这样添加样本的速度非常快:</p>
<pre><code>sample={'Date': pd.Timestamp('2016-12-04 12:00:00'), 'Sensor1': .1, 'Sensor2': .2}
def indexer(t):
return t.hour*3600+t.minute*60+t.second
def set(df,sample):
date=sample['Date']
index=indexer(date)
df.iat[index,0]=sample['Date']
df.iat[index,1]=sample['Sensor1']
df.iat[index,2]=sample['Sensor2']
In [7]: %timeit set(df,sample)
1000 loops, best of 3: 141 µs per loop
</code></pre>
<p>要将电流倒流24小时,只需执行以下操作:</p>
<pre><code>dfnow=df.set_index(df['Date']).sort_index().copy()
</code></pre>
<p>现在时间就是索引。在</p>