У меня есть 2 кадра данных df1 и df2 для 2 пи. Мне нужно сравнить соответствующие циклы от 2 Raspberry Pi, чтобы отследить разницу температур между пиками, когда нагрузка составляет 100%. Я не могу выбрать те же циклыиз обоих Pi.
Я могу получить количество циклов в базе данных, но когда я отфильтровываю только пиковые значения ниже определенной температуры и строю график, я не могу захватить одни и те же циклы для обоихPi's. Я использую spyder для запуска моего скрипта.
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, но обе кривые не имеют одинакового цикла. Как я могу использовать это значение ключа и получить вспомогательные участки, которые содержат данные того же цикла?