首页 > 解决方案 > 为什么我没有得到行的小计

问题描述

我正在尝试使用 pandas 旋转来获得小计。我不知道为什么我只得到列小计?


    data = {'TypeOfInvestor':['Stocks', 'Bonds', 'Real Estate'],
            'InvestorA': [96, 181, 88],
           'InvestorB': [185, 3, 152],
           'InvestorC': [39, 29, 142]}






      df = pd.DataFrame(data)


    pt = pd.pivot_table(df, values=['InvestorA', 'InvestorB', 'InvestorC'],
                        index=['TypeOfInvestor'],
                   aggfunc=np.sum, margins=True, margins_name='Total')

我希望使用 pivot_table 获得列的小计和行的小计,但我只得到列的小计。

标签: pandascrosstabsubtotal

解决方案


您可以使用.sumwith轻松添加axis=1

pt['Total']= pt.sum(axis=1)

print(pt)
                InvestorA  InvestorB  InvestorC  Total
TypeOfInvestor                                        
Bonds                 181          3         29    213
Real Estate            88        152        142    382
Stocks                 96        185         39    320
Total                 365        340        210    915

推荐阅读