Попытка заставить функцию python возвращать таблицу частот

#python #frequency-table

Вопрос:

 opened_file = open(r'C:UserslalusDesktopDatasetscars.csv')
from csv import reader
read_file = reader(opened_file)
cars_data = list(read_file)

def howMany(index):
    a_list = {}

    for row in cars_data[1:]:
        if row[index] in a_list:
           a_list[index]  = 1
        else:
            a_list[index] = 1

return a_list

make_count = howMany(2)

print(make_count)
 

В моем csv-файле есть строка для марки серии автомобилей с индексом 2. Я хочу, чтобы на выходе был возвращен список марки автомобиля, а также количество раз, когда марка появляется в столбце.

пока этот код возвращает только {2:1}.

Что я упускаю?

Комментарии:

1. return a_list необходимо сделать отступ внутри функции.

2. Кстати, для этого есть встроенная библиотечная функция: collections.Counter()

3. Не a_list[index] «но a_list[row[index]] «. Или return collections.Counter([row[index] for row in cars_data[1:]])