Skip to content Skip to sidebar Skip to footer

Finding Frequency Distribution Of A List Of Numbers In Python

I have a Long list of numbers like the following. I would like to find frequency distribution of each number, but I could not use Counter function to get frequency of each item, as

Solution 1:

You could use something simple like:

def freq(lst):
    d = {}
    for i in lst:
        if d.get(i):
            d[i] += 1else:
            d[i] = 1return d

results:

>>>freq(data)
{0.0:72, 1.0:106, 2.0:40, 3.0:21, 4.0:9, 5.0:10, 6.0:2, 7.0:3, 8.0:2, 9.0:2, 10.0:3, 11.0:1, 15.0:1, 17.0:2, 19.0:1, 6.09:1, 27.0:1}

Though Counter worked fine for me (I copy-pasted the data that you posted):

...>>>fromcollectionsimportCounter>>>Counter(data)Counter({1.0:106,0.0:72,2.0:40,3.0:21,5.0:10,4.0:9,7.0:3,10.0:3,6.0:2,8.0:2,9.0:2,17.0:2,11.0:1,15.0:1,19.0:1,6.09:1,27.0:1})

Solution 2:

distribution ={i:data.count(i)/len(data) for i in set(data)}

Post a Comment for "Finding Frequency Distribution Of A List Of Numbers In Python"