为了账号安全,请及时绑定邮箱和手机立即绑定

如何在列表中找到最频繁的

如何在列表中找到最频繁的

largeQ 2023-02-15 15:20:13
我是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)
查看完整描述

4 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

为什么你不使用 python 的内置模块,statistics。您可以像这样使用模块:


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

>>>


查看完整回答
反对 回复 2023-02-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我不确定你到底想做什么,但也许这可行:


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.')


查看完整回答
反对 回复 2023-02-15
?
慕神8447489

TA贡献1780条经验 获得超1个赞

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)


查看完整回答
反对 回复 2023-02-15
?
偶然的你

TA贡献1841条经验 获得超3个赞

给定一个值列表inp,您可以找到最常见的值,如下所示:

  1. 使用collections.Counter

    from collections import Counter

    most_common = Counter(inp).most_common(1)

输出是一个tuple里面(value, count)

  1. 使用sorted

    sorted(inp, key=lambda x: inp.count(x), reverse=True)[0]

输出是列表中最常见的值

  1. 使用numpy# note only works with numeric values

    np.argmax(np.bincount(inp))

输出是列表中最常见的值

  1. 另一个使用builtins

    max(set(inp), key=inp.count)

输出是列表中最常见的值

  1. 另一个使用pandas

    import pandas as pd

    pd.value_counts(inp).index[0]

输出是列表中最常见的值


查看完整回答
反对 回复 2023-02-15
  • 4 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信