关于 python:如何更改直方图中的 GROUP BY 顺序?

how do I change the GROUPBY order in a histogram?

我有一个数据框,其中包含 4 个字段,响应者、女性、已婚和孩子,我将其绘制为直方图。

1
2
3
4
import pandas as pd
data2= data1.groupby('Responder')
data3= data2['female','married','children'].mean()
data3.plot(kind='bar')

Example

正如您在输出中看到的那样,它被分组了,这正是我想要的。我现在唯一想做的就是拥有它,以便将每个变量组合在一起。因此,例如,您将有两个蓝色条代表女性,第一个代表 N,第二个代表 Y。然后在旁边,N 和 Y 条代表已婚,等等。

我需要什么语法来做这个?

Histogram


在绘制DataFrame时,每一列成为一个图例条目,每一行成为一个横轴类别。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Example data (different from yours):
df = pd.DataFrame({'Responder': ['Y', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'N'],
                   'female': [0, 1, 1, 0, 1, 1, 0, 1],
                   'married': [0, 1, 1, 1, 1, 0, 0, 1],
                   'children': [0, 1, 0, 1, 1, 0, 1, 0]})

g = df.groupby('Responder')
res = g.mean().T
res
Responder     N     Y
female     1.00  0.25
married    0.75  0.50
children   0.25  0.75

res.plot(kind='bar')

Bar