如何在交叉表中得到总数?

2024-04-20 03:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像下面这样的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

如何得到交叉表结果的和或总值。i、 东经49+51+26+24

到目前为止我用过这个

tbl.sum().sum()

预期O/p:

150

尽管我得到了所需的结果,但我想知道是否需要在这里使用两个chainsum函数来解决这个问题?你知道吗


Tags: 函数代码citydataframedfgender交叉list
1条回答
网友
1楼 · 发布于 2024-04-20 03:39:05

我不这么认为,您可以将DataFrame转换为numpy数组并调用^{}而不使用轴,因此它sum将所有值转换为标量:

print (tbl.values.sum())
150

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

相关问题 更多 >