pandas交叉表解决方案



使用这个输入

<表类> 性别 SQ2_1 SQ2_2 SQ2_3 tbody><<tr>M123F1南3F123F南2312南南23

一个选项:

c = df['Gender'].value_counts()
c['All'] = c.sum()
out = (
df.set_index('Gender').notna().reset_index()
.melt('Gender')
.pivot_table(index='variable', columns='Gender', values='value',
aggfunc='mean', margins=True)
)
out.loc['All'] = c

输出:

Gender           F         M       All
variable                              
SQ2_1     0.666667  0.666667  0.666667
SQ2_2     0.666667  1.000000  0.833333
SQ2_3     1.000000  0.666667  0.833333
All       3.000000  3.000000  6.000000

相关内容

  • 没有找到相关文章

最新更新