#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:]])