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"