更有效的创建词典或数据框的方法?

时间:2017-05-16 00:36:55

标签: python pandas dictionary dataframe

我有一个数据帧,我是过滤和求和。在进行求和和过滤之后,我希望将我的结果变成这样的格式,并计算出我的值。

     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

0 个答案:

没有答案