我需要在Python中计算我的CSV文件的TARGET_LABEL列的多数投票。
我有一个带有行ID并分配了TARGET_LABEL的数据框。我需要的是TARGET_LABEL(大多数)的数量。我该怎么做?
例如数据采用以下形式:
**Row ID TARGET_LABEL**
Row2 0
Row6 0
Row7 0
Row10 0
Row12 0
Row15 1
. .
. .
Row99999 1
我有python脚本只能从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 :(得分: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()
应该给你最频繁的价值。
答案 1 :(得分:0)
包collection
包含类Counter
,类似于dict
(或更确切地说是defaultdict(lambda: 0)
),可用于查找最常用的项目