我有一个数据帧,我是过滤和求和。在进行求和和过滤之后,我希望将我的结果变成这样的格式,并计算出我的值。
Cat1 Cat2 Cat3
Dog1
Dog2
Dog3
为了以这种格式获取它,我打算创建一组字典,然后将其转换回数据帧(注意我还没有在我的脚本中包含数据帧创建,只包括字典)。通过词典循环在一个样本子集上工作得很好,但是真正的交易,它需要很长时间。我怎样才能加快速度?
bigdictionary = {}
for column1 in df.iloc[:,0:200]:
cat = column1
bigdictinary[cat] = {}
for column2 in df.iloc[:,762:1000]:
dog = column2
filterdf = df[df[cat] > 0]
sumdf = filterdf[dog].sum()
bigdictionary[cat][dog] = sumdf
如果我没有分配字典,我就不会有字典创建。那么,有没有更好的方法来存储我的值并仍然得到我想要的输出格式?
编辑:这是我目前的数据。
Index,Thing1,Thing2,Thing3,Thing4,OtherThing1,OtherThing2,OtherThing3
0,1841,0,0,1841,1841,0,1841
1,1195,1195,1195,1195,0,1195,1195
2,318,318,0,318,318,0,318
3,0,0,0,1247,1247,0,1247
4,2170,2170,0,2170,2170,0,2170
5,2049,2049,0,2049,2049,0,2049
6,5920,5920,0,5920,5920,0,5920
7,0,2501,0,0,0,2501,2501