Pandas - 多个特定列的总和

数据挖掘 Python 熊猫 数据清理 数据框 通过...分组
2022-03-05 09:11:57

我创建了这个脚本:

        import pandas as pd
        pd.set_option('display.min_rows', None)
        pd.set_option('display.max_columns', None)
        df = pd.read_excel('file.xlsx', sep=';', skiprows=6)
        df = df.drop(['Position', 'Swap'], axis=1)
        df.drop_duplicates(['Time'])
        df = df.groupby(['Symbol'])[['Profit', 'Volume', 'Commission']].sum()

        df['Comm. ratio'] = (df['Commission'] / df['Profit'])
        df['Comm. ratio'] = df['Comm. ratio'].round(2)
        df['Net profit'] = (df['Profit'] + df['Commission'])
        df.loc['Total'] = pd.Series(df['Commission'].sum(), index = ['Commission'])



    Symbol  Profit Volume Commission Comm. ratio Net profit

    BA
    FB
    NVDA
    US500
    USTEC
    Total                     -45



    df.loc['Total'] = pd.Series(df['Commission'].sum(), index = ['Commission'])

适用于“佣金”列,但我想在“总计”行中为“利润、佣金和净利润”设置多列总和。

我无法让它工作。

谢谢!

1个回答
df.loc['Total'] = pd.Series([df['Commission'].sum(),df['Profit'].sum(),df['Net profit'].sum()], index = ['Commission','Profit','Net profit'])