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

python - 在 Pandas 中执行条件groupby计数后,显示列的零值-LMLPHP

我正在使用以下代码来获取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-Dataunresolved列中没有B值。因此,结果数据框将没有它

unresolved获得的结果如下:

work_queue countSRVCAM-AM BI-Reports Admin 1

但我想要的结果如下:

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

最佳答案

您可以比较列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'])

关于python - 在 Pandas 中执行条件groupby计数后,显示列的零值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53667557/

10-11 22:38