我有2个Pi的2个数据帧df1和df2。我需要比较2个Raspberry Pi的相应周期,以便跟踪负载为100%时峰之间的温差。我无法选择相同的周期来自两个Pi。
我能够获取数据库中的循环数,但是当我仅过滤出低于特定温度的峰值并绘制出图时,我无法为两个Pi捕获相同的循环。脚本。
conn = sqlite3.connect(db_path[i])
df_4 = pd.read_sql_query("SELECT * FROM Raspberry4 WHERE temperature < 0",conn)
df_4["time"] = pd.to_datetime(df_4["time"])
df_4.set_index(df_4["time"], inplace=True)
AU=df_4[df_4["cpuload"]>73]
AU["delta_t"]=AU["time"].diff()
AU['new_track'] = AU['delta_t'] > pd.Timedelta(minutes=1)
AU['track']=pd.to_numeric(AU['new_track'].cumsum(),downcast='integer')
max_cycle_pi_4 = max(AU['track'])
AU=AU.groupby(AU["track"])
for key,g in AU:
y_data = g['temperature'].values
x_data = range(0, len(y_data))
if -19 < y_data[-1] < -16 :
mean_pi_4.append(y_data[150:].mean())
fig,ax = plt.subplots()
figs.append(fig)
axes.append(ax)
axes[index].plot(x_data[0:150], y_data[0:150], color='g')
axes[index].plot(x_data[150:], y_data[150:], color='r')
axes[index].set_title(str(key))
index+=1
#Similar way I have BU dataframe for Raspberry3
for key,g in BU:
y_data = g['temperature'].values
x_data = range(0, len(y_data))
if -25 < y_data[-1] < -22 :
mean_pi_3.append(y_data[150:].mean())
axes[index].plot(x_data[0:150], y_data[0:150], color='b')
axes[index].plot(x_data[150:], y_data[150:], color='m')
axes[index].set_title(str(key))
index += 1
我能够获得包含两个Raspberry pi数据但两个曲线不是同一周期的子图。如何使用此键值并获取包含相同周期数据的子图?