Решение на основе вашего кода:
count = []
for question, question_df in df_raw.groupby(['faq_question']):
count.append(len(question_df['faq_question']))
print(count)
[6, 9] # numbers based on my example
total = sum(count)
print(total)
15
Pandas имеет встроенную функцию для подсчета значений в серии, pandas.Series.value_counts()
, здесь . Эта функция отсортирует и посчитает все значения в Серии. Он возвращает серию с индексом, указывающим подсчитанное значение (в вашем случае 0 и 1) и в качестве его значения число его повторений.
k = df_raw['faq_question'].value_counts()
print(k)
1.0 9
0.0 6
Name: faq_question, dtype: int64
total = sum(k)
Пример кода, который использовался для генерации приведенного выше примера в том числе 0/1 / нан в соответствующем столбце:
df_raw = pd.DataFrame(np.array([
[0,0,1,1,0,1,float("NaN"),0,1,1,1,1,0,0,float("NaN"),1,1],
[9,4,float("NaN"),4,9,4,0,5,2,2,5,5,2,5,8,float("NaN"),1]]).T,
columns=["faq_question","other"])