代码之家  ›  专栏  ›  技术社区  ›  Mohamed Thasin ah

如何获得交叉表中的总计?

  •  1
  • Mohamed Thasin ah  · 技术社区  · 6 年前

    我有一个类似下面的df,我想用下面的代码将其转换成交叉表,

    g= list('M'*75)+list('F'*75)
    c =list('B'*51)+list('T'*24)+list('B'*49)+list('T'*26)
    df=pd.DataFrame({'Gender':g,'City':c})
    tbl=pd.crosstab(df['City'],df['Gender'])
    

    交叉表:

    Gender   F   M
    City          
    B       49  51
    T       26  24
    

    到目前为止我用过这个,

    tbl.sum().sum()
    

    150
    

    sum 这个问题的函数是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   jezrael    6 年前

    我认为不是,您可以将DataFrame转换为numpy数组并调用 numpy.sum 没有轴,所以它 sum

    print (tbl.values.sum())
    150
    
    print (np.sum(tbl.values))
    150