【问题标题】:How to calculate totals in dataframe by pandas如何通过熊猫计算数据框中的总数
【发布时间】:2020-05-31 08:05:57
【问题描述】:

我有这个数据框:

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

【问题讨论】:

    标签: python pandas multiple-columns


    【解决方案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选择所有没有first by位置的列:

    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
    

    【讨论】:

      【解决方案2】:
      data[['Trader1','Trader2','Trader3']].sum()
      

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

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

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

      【讨论】:

      • 你可以像上面一样传递你想要计算总数的列。
      • 如果我不知道数字或“交易者”列并且不知道确切名称,如何修改?像data[[1:]].sum() 这样的东西会起作用吗?
      • 也是@jezrael a.loc['Total'] = a.iloc[:, 1:].sum() 答案的最后一部分,正是你想要的东西。
      猜你喜欢
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2022-11-08
      • 2023-02-20
      相关资源
      最近更新 更多