多重循环代码改进方式

merra_data是dataframe格式,按月份、小时、列进行循环,但是速度较慢,不知道应该如何将for循环代码改进,x'x

    for i in range(1,13):

        temp1 = merra_data_val[merra_data_val['Month']==i]
        temp2 = merra_data[merra_data['Month']==i]
        for j in range(0,24):
            temp3 = temp1[temp1['Hour']==j]
            temp4 = temp2[temp2['Hour']==j]
            for k in lable_names_2:
                    temp3[k] = k_index[i][k][j]*temp4[k]+b_index[i][k][j]

            temp1[temp1['Hour']==j] = temp3
            print(str(i)+','+str(j))
        merra_data_val[merra_data_val['Month']==i] = temp1    

https://www.ilovematlab.cn/thread-458047-1-1.html