我有一个如下所述的数据框:
我正在使用以下代码来获取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 count
SRVCAM-AM BI-Reports Admin 1
但是我想要的结果如下:
work_queue count
SRVCAM-AM BI-Reports Admin 1
SRVCAM-AM BI-Data 0
答案 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'])