如何通过使用pandas数据透视表中的column * value获得行的总和?

时间:2019-12-17 03:53:46

标签: python pandas pandas-groupby

我正在尝试获取以下输出。卡住以获得总计。

enter image description here

这是我的代码;

def generate_invoice_summary_info():                                                                                                         
    file_path = 'output.xlsx'                                                                                                                
    df = pd.read_excel(file_path, sheet_name='Invoice Details', usecols="E:F,I,L:M")                                                         

    df['Price'] = df['Price'].astype(float)                                                                                                  
    # df['Total'] = df.groupby(["Invoice Cost Centre", "Invoice Category"]).agg({'Price': 'sum'}).reset_index()                              

    df = pd.pivot_table(df, index=["Invoice Cost Centre", "Invoice Category"],columns=['Price','Reporting Frequency','Data Feed'],           
                           aggfunc=len ,fill_value=0,margins=True)                                                                           
    print(df.head())                                                                                                                         
    df.to_excel('a.xlsx',sheet_name='Invoice Summary')       

以上代码产生以下输出(右90%) enter image description here

我无法找到“总计”列。 根据{{​​1}}

计算每行的总列数
count* price

如何在数据透视表中执行此操作? 我使用margins属性,但它仅给出行总和。

修改 打印(df):

Total = count*price column

0 个答案:

没有答案