这是一个很普通简便的方法,用于数据集中标签数量的统计,数据集文件为txt文件,以8种标签类型为例,后续可自行相应扩展
labName='F:/27data/val/'#指定到要统计的文件夹下,以val文件夹为例
m=os.listdir(labName)
a=b=c=d=e=j=g=h=i=0 #每类标签统计数量初始化
for n in range(0,len(m)):
f = codecs.open(labName+m[n], mode='r', encoding='unicode_escape')
line = f.readline() # 以行的形式进行读取文件
list1 = []
while line:
x = line.split()
list1.append(x)
line = f.readline()
f.close()
for num in range(0,(len(list1))):
if len(list1[num])==5:
if list1[num][0]==str(0): #判断txt第一列是否为标签0
a=a+1 #判断为真,进行累加
if list1[num][0]==str(1):
b=b+1
if list1[num][0] == str(2):
c = c + 1
if list1[num][0] == str(3):
d = d + 1
if list1[num][0] == str(4):
e = e + 1
if list1[num][0] == str(5):
j = j + 1
if list1[num][0] == str(6):
g = g + 1
if list1[num][0] == str(7):
h = h + 1
if list1[num][0] == str(8):
i = i + 1
else:
print(" ")
print("0的数量:"+str(a), "1的数量:"+str(b), "2的数量:"+str(c), "3的数量:"+str(d), "4的数量:"+str(e), "5的数量:"+str(j), "6的数量:"+str(g), "7的数量:"+str(h), "8的数量:"+str(i))
运行结果:
0的数量:739 1的数量:1619 2的数量:1 3的数量:157 4的数量:98 5的数量:2 6的数量:8 7的数量:48 8的数量:1358