所以数据看起来像这样:
type value
A 0
A 6
B 5
C 0
A 3
C 0
我想获取 type 列中每种类型的 value 列中的零数。最好在新的数据帧中。所以看起来像这样:
type zero_count
A 1
B 0
C 2
最有效的方法是什么?
答案 0 :(得分:3)
将Series.eq
的列与==
进行比较,将Series.view
或Series.astype
转换为整数0/1
,然后按df['type']
列与{ {1}}:
sum
df1 = df['value'].eq(0).view('i1').groupby(df['type']).sum().reset_index(name='zero_count')
df1 = df['value'].eq(0).astype(int).groupby(df['type']).sum().reset_index(name='zero_count')