如何通过 pandas 计算数据框中的总数

How to calculate totals in dataframe by pandas

我有这个数据框:

Date Trader1 Trader2 Trader3
01/04/2020  4   6   8
02/04/2020  4   6   8
03/04/2020  4   7   8
04/04/2020  4   7   8
05/04/2020  3   5   7
06/04/2020  2   4   7
07/04/2020  2   3   6
08/04/2020  3   3   6
09/04/2020  3   5   7
10/04/2020  3   5   7
11/04/2020  3   5   6

我想使用 python/pandas 库获取每列的总计。当我应用 a.loc['Total'] = pd.Series(a.sum()) 时,我可以获得每列的总计结果,但它还会将 Date 列(日期)的值加在一起。如何只计算所需列的总计?

data[['Trader1','Trader2','Trader3']].sum()

我刚看到你的评论,可能有更好的方法,但我认为这应该有效

data[data.columns[1:]].sum()

您必须在最后一行提供范围。

您可以 select 只有数字列 DataFrame.select_dtypes:

a.loc['Total'] = a.select_dtypes(np.number).sum() 

您可以通过 DataFrame.drop:

删除列 Date
a.loc['Total'] = a.drop('Date', axis=1).sum() 

或 select 所有没有第一个按位置 DataFrame.iloc:

的列
a.loc['Total'] = a.iloc[:, 1:].sum() 

print (a)
             Date  Trader1  Trader2  Trader3
0      01/04/2020      4.0      6.0      8.0
1      02/04/2020      4.0      6.0      8.0
2      03/04/2020      4.0      7.0      8.0
3      04/04/2020      4.0      7.0      8.0
4      05/04/2020      3.0      5.0      7.0
5      06/04/2020      2.0      4.0      7.0
6      07/04/2020      2.0      3.0      6.0
7      08/04/2020      3.0      3.0      6.0
8      09/04/2020      3.0      5.0      7.0
9      10/04/2020      3.0      5.0      7.0
10     11/04/2020      3.0      5.0      6.0
Total         NaN     35.0     56.0     78.0