[英]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.