python里计算每个数字出现的频数
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/22 02:56:06
python里计算每个数字出现的频数
我有一个长array对象(numpy里的),大概是30w个整数(0-9),现在要统计每个数字出现的百分比,请问有没有什么高效的算法?
我现在使用最原始的:
def cal(classfier):
'''
返计算并返回一个长度为8的向量,表示每种颜色的百分比
'''
n0 = 0.0
n1 = 0.0
n2 = 0.0
n3 = 0.0
n4 = 0.0
n5 = 0.0
n6 = 0.0
n7 = 0.0
l = len(classfier)
for i in range(l-1):
if classfier[i] == 0:
\x05n0 = n0 + 1
elif classfier[i] == 1:
\x05n1= n1 + 1
elif classfier[i] == 2:
\x05n2 = n2 + 1
elif classfier[i] == 3:
\x05n3 = n3 + 1
elif classfier[i] == 4:
\x05n4 = n4 + 1
elif classfier[i] == 5:
\x05n5 = n5 + 1
elif classfier[i] == 6:
\x05n6 = n6 + 1
else:
\x05n7 = n7 + 1
vector = [100 * n0/l,100 * n1/l,100 * n2/l,100 * n3/l,100 * n4/l,100 * n5/l,100 * n6/l,100 * n7/l]
print 'Col0:',round(100 * n0/l,4),'%'
print 'Col1:',round(100 * n1/l,4),'%'
print 'Col2:',round(100 * n2/l,4),'%'
print 'Col3:',round(100 * n3/l,4),'%'
print 'Col4:',round(100 * n4/l,4),'%'
print 'Col5:',round(100 * n5/l,4),'%'
print 'Col6:',round(100 * n6/l,4),'%'
print 'Col7:',round(100 * n7/l,4),'%\n'
return(vector)
我有一个长array对象(numpy里的),大概是30w个整数(0-9),现在要统计每个数字出现的百分比,请问有没有什么高效的算法?
我现在使用最原始的:
def cal(classfier):
'''
返计算并返回一个长度为8的向量,表示每种颜色的百分比
'''
n0 = 0.0
n1 = 0.0
n2 = 0.0
n3 = 0.0
n4 = 0.0
n5 = 0.0
n6 = 0.0
n7 = 0.0
l = len(classfier)
for i in range(l-1):
if classfier[i] == 0:
\x05n0 = n0 + 1
elif classfier[i] == 1:
\x05n1= n1 + 1
elif classfier[i] == 2:
\x05n2 = n2 + 1
elif classfier[i] == 3:
\x05n3 = n3 + 1
elif classfier[i] == 4:
\x05n4 = n4 + 1
elif classfier[i] == 5:
\x05n5 = n5 + 1
elif classfier[i] == 6:
\x05n6 = n6 + 1
else:
\x05n7 = n7 + 1
vector = [100 * n0/l,100 * n1/l,100 * n2/l,100 * n3/l,100 * n4/l,100 * n5/l,100 * n6/l,100 * n7/l]
print 'Col0:',round(100 * n0/l,4),'%'
print 'Col1:',round(100 * n1/l,4),'%'
print 'Col2:',round(100 * n2/l,4),'%'
print 'Col3:',round(100 * n3/l,4),'%'
print 'Col4:',round(100 * n4/l,4),'%'
print 'Col5:',round(100 * n5/l,4),'%'
print 'Col6:',round(100 * n6/l,4),'%'
print 'Col7:',round(100 * n7/l,4),'%\n'
return(vector)
python 3.3 脚本,看看是否能给你点启示
a = [1,2,5,1,2,3,5,6,6,5,4,6,4,2,0,8,9,7,4,1,1,2,2,2,2,2,2,2,2,3,3,3,2,5,2,5,8,5,5]
count = len(a)
myset = set(a)
for item in myset:
print(item,100*a.count(item)/count)
a = [1,2,5,1,2,3,5,6,6,5,4,6,4,2,0,8,9,7,4,1,1,2,2,2,2,2,2,2,2,3,3,3,2,5,2,5,8,5,5]
count = len(a)
myset = set(a)
for item in myset:
print(item,100*a.count(item)/count)
python里计算每个数字出现的频数
用matlab统计矩阵里每个数字周围24个格里的各个数频数怎么做
有关PYTHON的计算问题
python如何把List里的不同数字相加成一个数字
python里把1到123的数字中所有3的倍数换成A
频数和频率的问题下列错误的有1.频数越大,频率越大2.所有频率之和等于13.频数表示每个对象出现的次数4.频数一定是一个
问下数学知识点下列说法中,正确的个数有1、频数越大,频率越大2、所有频率之和等于13、频数表示每个对象出现的次数4、频数
下列说法正确的有:1.频数越大,频率越大.2.所有频率之和等于1.3.频数表示每个对象出现的次数.4.频数一定是一个正数
计算1000以内所有能够被3整除但不能被5整除的数字之和,Python语言
python 在一个范围内,寻找另一个数字的所有整数倍数,并计算一共有多少个倍数
python 统计单词平均长度,统计a出现的次数
有关PYTHON计算问题