2016-04-23 55 views
3

我试图找出如何确定数据框中两列之间的关系。项目与总数之间的关系。我想计算每个“物品”价值的总金额,其中物品是每个购物篮的物品数量,总计是每个购物篮的总金额/费用。列:两列之间的关系Python

Date Time Basket Items Total 

我当前的Python代码来获得项目数的每个频率为:

items = result['Items'].value_counts() 

我试过这个代码来获取总数(和其他..):

Total_per_Items = result.groupby(['Items','Total']) 
Totals = Total_per_Items['Total'].sum() 
Totals 

,并得到如下的输出:

Items Total 
1 0.00  0.00 
    0.01  0.03 
    0.02  0.02 
    0.11  0.11 
    0.22  0.22 
    0.24  0.24 
    0.28  0.28 
    0.29  0.29 

凡不是我想要得到的东西,如:

Items Total 
1  10500.65 
2  2300.50 
3  3450.34 

我提出了上面的输出,但我敢肯定,你得到的漂移。它让我烤了。

回答

0

这给你的Total通过Item总和:

result.groupby(['Items'])['Total'].sum() 

例子:

>>> result = pd.DataFrame({'Items': [1, 2, 3, 2, 1, 2, 3], 
          'Total': [10, 20, 30, 20, 10, 20, 30]}) 
>>> result.groupby(['Items'])['Total'].sum() 
Items 
1 20 
2 60 
3 60 
Name: Total, dtype: int64 

这给你一个数据帧的结果是:

>>> result.groupby(['Items'])['Total'].sum().to_frame() 

     Total 
Items  
1   20 
2   60 
3   60 
+0

嗯,我想我需要将总计和项目分组,而不仅仅是项目本身.. – Theant6118