2016-10-17 1 views
-1

Мне нужно рассчитать большинство голосов для столбца TARGET_LABEL моего CSV-файла в Python.Чтение CSV-файла и принятие большинством голосов определенного столбца

У меня есть кадр данных с идентификатором строки и назначается TARGET_LABEL. Мне нужен счет TARGET_LABEL (большинство). Как мне это сделать?

например, данные в этой форме:

**Row ID  TARGET_LABEL** 
     Row2   0 
     Row6   0 
     Row7   0 
     Row10   0 
     Row12   0 
     Row15   1 
     .   . 
     .   . 
     Row99999  1 

У меня есть питон скрипт, который только считывает данные из CSV. Вот это

import csv 

ifile = open('file1.csv', "rb") 
reader = csv.reader(ifile) 

rownum = 0 
for row in reader: 
# Save header row. 
if rownum == 0: 
    header = row 
else: 
    colnum = 0 
    for col in row: 
     print '%-8s: %s' % (header[colnum], col) 
     colnum += 1 

    rownum += 1 

ifile.close() 

ответ

0

В случае TARGET_LABEL ** не имеет значения NaN, вы можете использовать:

counts = df['TARGET_LABEL'].value_counts() 
max_counts = counts.max() 

В противном случае, если она может содержать значения NaN, используйте

df = df.dropna(subset=['TARGET_LABEL']) 

Удаляет все значения NaN

df['TARGET_LABEL'].value_counts().max() 

должно давать максимальные значения,

df['TARGET_LABEL'].value_counts().idxmax() 

должно предоставить вам наиболее частое значение.

+0

Что такое df? это функция? Я не знаю, что много питона. – Probe

+0

df означает информационный кадр. –

0

Пакет collection содержит класс Counter который работает аналогично dict (или точнее defaultdict(lambda: 0)) и который может быть использован, чтобы найти наиболее частый элемент.

Смежные вопросы