Python Pandas подсчет вхождений определенного значения

Я пытаюсь найти количество раз, когда определенное значение появляется в одном столбце.

Я сделал фрейм данных с data = pd.DataFrame.from_csv('data/DataSet2.csv')

и теперь я хочу найти, сколько раз что-то появляется в столбце. Как это делается?

Я думал, что это было ниже, где я смотрю в колонке образования и подсчитываю количество времени ? происходит.

код ниже показывает, что я пытаюсь найти количество раз 9th появляется и ошибка, что я получаю, когда я запускаю код

код

missing2 = df.education.value_counts()['9th']
print(missing2)

KeyError: '9th'

4 ответов


IIUC вы можете создать subset данных с вашим условием, а затем используйте shape или len:

print df
  col1 education
0    a       9th
1    b       9th
2    c       8th

print df.education == '9th'
0     True
1     True
2    False
Name: education, dtype: bool

print df[df.education == '9th']
  col1 education
0    a       9th
1    b       9th

print df[df.education == '9th'].shape[0]
2
print len(df[df['education'] == '9th'])
2

несколько способов использования count или sum

In [338]: df
Out[338]:
  col1 education
0    a       9th
1    b       9th
2    c       8th

In [335]: df.loc[df.education == '9th', 'education'].count()
Out[335]: 2

In [336]: (df.education == '9th').sum()
Out[336]: 2

In [337]: df.query('education == "9th"').education.count()
Out[337]: 2

попробуйте это:

(df[education]=='9th').sum()

элегантный способ подсчета появления '?' или любой символ в любом столбце, использовать встроенную функцию isin объекта dataframe.

предположим, что мы загрузили "автомобиль"dataset на