对模型中的多个数据帧求和



我已经建立了一个优化能耗的模型。一些变量在数据表中给出。为了简单起见和不同数据表的可用性,我在类中构建了我的模型。

不同的能耗在类的 init 函数中定义:

    def __init__(self, PV, refrigerator, clotheswasher, dishwasher, freezer):
        self.PV = PV
        self.refrigerator = refrigerator
        self.clotheswasher = clotheswasher
        self.dishwasher = dishwasher
        self.freezer = freezer

这些值在我的模型中用于数据的所有时间戳(即一天,每 5 分钟数据)

    for t in self.model.T:
        self.model.PV[t] = self.PV
        self.model.refrigerator[t] = self.refrigerator
        self.model.clotheswasher[t] = self.clotheswasher
        self.model.dishwasher[t] = self.dishwasher
        self.model.freezer[t] = self.freezer

我想将它们相加以绘制当天总能耗的图表

    self.model.total[t] = self.model.PV[t] + self.model.refrigerator[t] + self.model.clotheswasher[t] + self.model.dishwasher[t] + self.model.freezer[t]

但是,通过对self.model.total[t]中的每个t执行此操作,我得到了一个包含求和的数据帧,即在添加 A B 和 C 时:

index   A   B   C   
  1     3   4   2    
  2     2   1   4    
  3     1   3   2    

我想得到一个数据帧,例如:

index      tot
  1         9
  2         7
  3         6

但我得到:

index      tot
  1         9
            7
            6
  2         9
            7
            6
  3         9
            7
            6

有人可以帮助我吗?

如果我们通过处理简化的数据示例来简化您尝试执行的操作,则可以使用以下代码:

import pandas as pd
DF = pd.read_csv("Data.csv")
print DF
print 
for i in range(len(DF)):
    print i, sum(DF.iloc[i])

这将产生以下输出:

   A  B  C
0  3  4  2
1  2  1  4
2  1  3  2
0 9
1 7
2 6

您可能只是在类实例化和数据加载中犯了一些简单的错误。一旦你解决了这个问题,你的结果可能会正确。从一个简单的小数据集开始,直到找到问题,并对每个步骤进行故障排除。

最新更新