我有一个如下所述的数据框:
我正在使用以下代码来获取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()
对于unresolved
,SRVCAM-AM BI-Data
在unresolved
列中没有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/