【发布时间】:2016-02-14 13:06:12
【问题描述】:
假设我有这个数据框
d = {'group' : ('A', 'B', 'C', 'A', 'A', 'B') ,
'T/F': (1, 0, 1, 0, 1, 1)}
df1 = pd.DataFrame(d)
看起来像这样
T/F group
0 1 A
1 0 B
2 1 C
3 0 A
4 1 A
5 1 B
我想制作一个条形图,对每组 A、B 和 C 中有多少个 1 和多少个 0 进行排序。我的猜测是我需要首先将数据分组以使其准备好进行绘图,(请如果我错了,如果有更简单的方法,请纠正我)
我正在做的是这样的:
bardata = df1.groupby('group').agg({'T/F': lambda x: sum(x == 1)})
虽然这有效并且它计算我拥有的 1 的数量(或者如果我想要的 0)但它不能同时做这两个。例如它目前给出了
T/F
group
A 2
B 1
C 1
如果有另一列会很好地给出所有错误值的总和(在那里再添加一个 lambda 也无济于事,因为列名仍然是 T/F)。我想用这些数据制作堆积条形图,这样我就可以看到每组有多少个 1 和 0。
感谢所有帮助。
【问题讨论】:
标签: python pandas dataframe bar-chart