Вы можете посчитать возникновение по sum
логической маски - True
значения - это процессы, такие как 1
s:
#count all columns without first to Series
print (data.iloc[:, 1:].sum().astype(int))
category1 2
category2 2
category3 0
dtype: int32
#or to one row DataFrame
df = data.iloc[:, 1:].sum().astype(int).to_frame().T
Общее решение с eq
(==
):
val = True
df = data.iloc[:, 1:].eq(val).sum().astype(int).to_frame().T
print (df)
category1 category2 category3
0 2 2 0