[英]how to find the most frequent in list
我是 python 的新手,我需要找到列表pdInput
中出現頻率最高的元素以及mostFreqenNum
列表中有多少相同的元素
mostFreqenNum = []
contMostnum = [0]
ContTraining = int(input('How many time You like to Train you input: '))
for i in range(ContTraining):
pdInput = int(
input('Please input your number whatever you want: '))
mostFreqenNum.append(pdInput)
for x in mostFreqenNum:
coutFreqenNum = contMostnum.count(x)
給定一個值列表inp
,您可以找到最常見的值,如下所示:
使用collections.Counter
from collections import Counter
most_common = Counter(inp).most_common(1)
output 是一個內部有(value, count)
的tuple
使用sorted
sorted(inp, key=lambda x: inp.count(x), reverse=True)[0]
output 是列表中最常見的值
using numpy
: # note only works with numeric values
np.argmax(np.bincount(inp))
output 是列表中最常見的值
另一個使用builtins
:
max(set(inp), key=inp.count)
output 是列表中最常見的值
另一個使用pandas
:
import pandas as pd
pd.value_counts(inp).index[0]
output 是列表中最常見的值
為什么你不使用 python 的內置模塊,統計。 您可以像這樣使用模塊:
import statistics
### your input code
mode = statistics.mode(mostFreqenNum)
print(mode)
mode() 接收參數列表類型。 然后你可以使用count()。 另一個例子,可能是這樣的:
>>> import statistics
>>> lists = [2,3,2,2,3,4,5]
>>> mode = statistics.mode(lists)
>>> print(mode)
2
>>> lists.count(2)
3
>>>
我不確定你到底想做什么,但也許這可以工作:
mostFreqenNum = {}
contMostnum = 0
myList = [1, 2, 3, 2, 4, 3, 2, 3, 5, 3]
for i in myList:
if i in mostFreqenNum:
mostFreqenNum[i] += 1
else:
mostFreqenNum[i] = 1
for x in mostFreqenNum:
if mostFreqenNum[x] > contMostnum:
contMostnum = mostFreqenNum[x]
mostFreqKey = x
else:
continue
print(f'Most frequent key, {mostFreqKey}, seen {contMostnum} times.')
def Prediction_Model_v3():
alnv3 = [[],[]]
inpv3 = int(input('How many time You like to Train you input V3: '))
for i in range(inpv3):
pdInpv3 = int(
input('V3 input number whatever you want: '))
alnv3[0].append(pdInpv3)
mdv3 = statistics.mode(alnv3[0])
if(pdInpv3 == mdv3):
alnv3[1].append(str(len(alnv3[1])))
print('numberInput V3: ', alnv3[0])
print('Most Frequent number V3 is ', str(mdv3), ':', str(len(alnv3[1])))
pdtISv3 = (((inpv3-int(len(alnv3[1])))*100)/inpv3)
print('Result of prediction V3 is: ', str(
mdv3), '=', str(pdtISv3), '%')
alnv3.clear()
return str(pdtISv3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.