Skip to main content

The 3 Ms

It's been quite a while since I last had to calculate the mean, median or mode of any set of numbers. But here I am, giving myself a refresher on statistical calculations. I'm learning some basics with the help of W3 schools. They always break concepts down so well :) 

Calculating Mean
We can do this the hard way, which sucks and I'm lazy and is ridiculous when we're looking at incredible large sets of numbers anyway. So instead, we're going to do it the easy way using the NumPy module in Python.

import numpy
numSet = [ *lots of numbers *]
numSetMean = numpy.mean(numSet)

Calculating Median
This is even more annoying to calculate manually. You have to sort all the values from smallest to largest and search for the value in the middle. No one has time for that. Numpy can do this too.

import numpy
numSet = [ *lots of numbers* ]
numSetMedian = numpy.median(numSet)

Mode
This is just as troublesome to calculate as the median. You're trying to get the value that appears with the highest frequency. Meh. You have to use SciPy for this though.

from scipy import stats
numSet = [ *lots of numbers* ]
numSetMode = stats.mode(numSet)


Comments

Popular posts from this blog

Deviants in a normal world

It's definitely been a bit since I've seen this graphy. Anyone who has learnt about standard deviation knows this graph. Standard Deviation Standard deviation shows us how spread out all the values in a set are from the mean. The higher the standard deviation, the more spread out the values are over a wider range and the flatter this curve. In a normal distribution, most values are within 1 standard deviation from the mean(the green part of the graph). Apparently NumPy can calculate standard deviation too! import numpy numSet = [ *lots of numbers* ] numSetStdDev = numpy.std(numSet) Variance The variance also indicates how spread out the values in a set are. It measures the average degree to which each value differs from the mean. variance = standard deviation ^2 import numpy numSet = [ *lots of numbers * ] numSetVar = numpy.var(numSet) Source:  https://www.w3schools.com/python/python_ml_standard_deviation.asp

Snakes and ladders

I've started on my Python course. So far, the code has been familiar because the first few basic codes are similar to Javascript. And then modules happened. Confusion and despair! What is the world is 'if __name__ == "__main__": ' and why must I reach this section of my course on a public holiday when none of the instructors are in :( Stack overflow to the rescue, providing me a lifeline while I was drowning in a pit of serpents. I feel eternally indebted to a particular Mr Fooz.  Picture from  here From my understanding, when the Python interpreter reads a source file, it first sets the variable __name__ and then it executes all the code in the file. If that particular file that you are running(i.e. your module) is the main program, the interpreter will assign '__name__ = "__main__" '. Thereafter, any code in the aforementioned 'if' statement is run. If you have, instead, imported a module, the interpreter assigns '__name__ ...

I gotta feeling...

I've been helping a colleague with his portfolio site. He's making it retro video game themed at my suggestion. He found an interesting pixelated font called arcade classic  and used it for the headings on his page. Unfortunately, some of the letters almost overlapped, making it not quite readable. Before letter spacing I looked into typography ages ago and learnt about letter and word spacing and wondered if that was something that I could fiddle with using CSS. Turns out it is a property you can customise. I opened up Chrome Dev tools and added 3 pixels of letter spacing and it looked so much better. And there's letter spacing too, so that's pretty neat.  After letter spacing Can't say CSS is my favourite thing ever but it's always nice to learn something new in unexpected ways.