如何根据条件计算所有数据框列值并将列转置为 Python 中的行

How to count all data frame column values based on condition and transpose the columns into rows in Python

请在 Python 数据框中找到示例数据,如下所示。我有大约 30 列。

Column1  Column2  Column3
Male     Male     Female
Male     Female   Female
Female   Male     Female
Female   Male     Male

我想要以下格式的输出

            Male         Female
Column1     2              2
Column2     3              1
Column3     1              3

如果有人能帮助我在 Python 中实现这一目标,我将不胜感激。

谢谢, 斯里

尝试:

df.melt().value_counts().unstack()

value     Female  Male
variable              
Column1        2     2
Column2        1     3
Column3        3     1

去掉轴名称

df.melt().value_counts().rename_axis([None, None]).unstack()

         Female  Male
Column1       2     2
Column2       1     3
Column3       3     1

value_countsapplytranspose

df.apply(lambda c : c.value_counts()).transpose()

输出

    Female  Male
Column1 2   2
Column2 1   3
Column3 3   1