如何在交叉表熊猫中获取Total?

时间:2018-11-29 07:21:31

标签: python pandas

我有一个类似下面的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

如何获取交叉表结果的总和。即49 + 51 + 26 + 24

到目前为止,我已经使用了它,

tbl.sum().sum()

预期的O / P:

150

即使我得到了所需的结果,但我仍想知道是否需要在此使用两个链式sum函数来解决此问题?

1 个答案:

答案 0 :(得分:1)

我认为没有,您可以将DataFrame转换为numpy数组,然后不带任何轴调用numpy.sum,因此将所有值sum转换为标量:

print (tbl.values.sum())
150

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