使用这个输入
<表类>
性别
SQ2_1
SQ2_2
SQ2_3
tbody><<tr>M 1 2 3 F1 南 3 F1 2 3 F南 2 3 1 2 南 南 2 3 表类>
一个选项:
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