簡體   English   中英

如何通過 pandas 計算 dataframe 中的總數

[英]How to calculate totals in dataframe by pandas

我有這個 dataframe:

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列(日期)的值相加。 如何僅計算所需列的總數?

您可以 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
data[['Trader1','Trader2','Trader3']].sum()

我剛剛看到您的評論,可能有更好的方法,但我認為這應該可行

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

您必須在最后一行提供范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM