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

时间:2020-05-31 08:05:57

标签: python pandas multiple-columns totals

我有这个数据框:

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列的值(日期)加在一起。如何只计算所需列的总数?

2 个答案:

答案 0 :(得分:1)

您只能通过DataFrame.select_dtypes选择数字列:

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

您可以通过DataFrame.drop删除列Date

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

或通过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

答案 1 :(得分:0)

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

我刚刚看到了您的评论,也许有更好的方法,但是我认为这应该可行

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

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

相关问题