在熊猫中执行条件分组计数后,显示列的零值

时间:2018-12-07 10:22:11

标签: python pandas dataframe pandas-groupby

我有一个如下所述的数据框:

[1]: https://i.stack.imgur.com/nDMa5.png

我正在使用以下代码来获取resolved列中所有项目的A计数:

resolved = df[df['B']== 'resolved'].groupby('A', as_index=False)['B'].size()

(对于unresolved类似:

unresolved = df[df['B']== 'unresolved'].groupby('A', as_index=False)['B'].size()

对于unresolvedSRVCAM-AM BI-Data在列unresolved中没有B值。因此,结果数据框将没有它

unresolved获得的结果如下:

work_queue count SRVCAM-AM BI-Reports Admin 1

但是我想要的结果如下:

work_queue count SRVCAM-AM BI-Reports Admin 1 SRVCAM-AM BI-Data 0

1 个答案:

答案 0 :(得分:3)

您可以比较列B并汇总sum-True类似于1的过程:

resolved = (df['B'] == 'resolved').groupby(df['A'], as_index=False).sum().astype(int)

如果要使用B的所有列,请使用crosstab

resolved = pd.crosstab(df['A'], df['B'])