有没有一种方法可以比较包含2个RaspberryPi的数据的2个不同数据帧的相应周期

时间:2019-11-08 13:14:49

标签: python-3.x anaconda raspberry-pi3 spyder

我有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数据但两个曲线不是同一周期的子图。如何使用此键值并获取包含相同周期数据的子图?

0 个答案:

没有答案