How do you find the median without an inbuilt function in python?

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • View Discussion

    Improve Article

    Save Article

    In this article, we will learn how to calculate Mean, Median, and Mode with Python without using external libraries.

    1. Mean : The mean is the average of all numbers and is sometimes called the arithmetic mean. This code calculates Mean or Average of a list containing numbers:

      n_num = [1, 2, 3, 4, 5]

      n = len(n_num)

      get_sum = sum(n_num)

      mean = get_sum / n

      print("Mean / Average is: " + str(mean))

      Output:

      Mean / Average is: 3.0
      

      We define a list of numbers and calculate the length of the list. We then use sum() function to get sum of all the elements in a list. We finally divide the total sum by the number of elements in the list and we print the result to get the mean/average of a list.

    2. Median : The median is the middle number in a group of numbers. This code calculates Median of a list containing numbers:

      n_num = [1, 2, 3, 4, 5]

      n = len(n_num)

      n_num.sort()

      if n % 2 == 0:

          median1 = n_num[n//2]

          median2 = n_num[n//2 - 1]

          median = (median1 + median2)/2

      else:

          median = n_num[n//2]

      print("Median is: " + str(median))

      We define a list of numbers and calculate the length of the list. To find a median, we first sort the list in Ascending order using sort() function.
      Now we check if the number is even or odd by checking their remainders. If the number is even, we find 2 middle elements in a list and get their average to print it out. But if the number is odd, we find the middle element in a list and print it out.

    3. Mode : The mode is the number that occurs most often within a set of numbers. This code calculates Mode of a list containing numbers:

      from collections import Counter

      n_num = [1, 2, 3, 4, 5, 5]

      n = len(n_num)

      data = Counter(n_num)

      get_mode = dict(data)

      mode = [k for k, v in get_mode.items() if v == max(list(data.values()))]

      if len(mode) == n:

          get_mode = "No mode found"

      else:

          get_mode = "Mode is / are: " + ', '.join(map(str, mode))

      print(get_mode)

      We will import Counter from collections library which is a built-in module in Python 2 and 3. This module will help us count duplicate elements in a list.
      We define a list of numbers and calculate the length of the list. We then call Counter (a dict subclass) which helps to count hashable objects, and we then convert it to dict object. We then initialize a list with a For Loop to compare all the dict values (Number of elements) to the max of all dict values (count of most occurring element) and it returns all the elements equal to max count. If the elements returned are equal to the number of total elements in a list then we print out ‘No mode’, else we print out the modes returned.

      Another simple approach to find mode with simple coding

      y= [11, 8, 8, 3, 4, 4, 5, 6, 6, 6, 7, 8]

      y.sort() 

      L1=[]

      i = 0

      while i < len(y) :

          L1.append(y.count(y[i]))

          i += 1

      d1 = dict(zip(y, L1))

      d2={k for (k,v) in d1.items() if v == max(L1) }

      print("Mode(s) is/are :" + str(d2))

      Output:

      Mode(s) is/are :{8, 6}

    Conclusion
    We have successfully calculated mean, median, and mode of a dataset but you might be thinking ‘Will I be using these algorithms every time I want to get mean, median and mode of a dataset?’
    The answer is you can but you certainly won’t. This was just to show you how the algorithm works behind the scenes when finding out any of these.
    For any projects, this can be achieved by simply importing an inbuilt library ‘statistics’ in Python 3, and using the inbuilt functions mean(), median() and mode(). Also, there are other external libraries that can help you achieve the same results in just 1 line of code as the code is pre-written in those libraries.


    How do you find the median of a list without inbuilt in Python?

    Program to find Mean, Median, and Mode without using Libraries:.
    Mean: numb = [2, 3, 5, 7, 8] no = len(numb) summ = sum(numb) mean = summ / no print("The mean or average of all these numbers (", numb, ") is", str(mean)) ... .
    Median: ... .
    Mode: ... .
    Program to find Mean, Median, and Mode using pre-defined library:.

    How do you find the median in Python manually?

    Tip: The mathematical formula for Median is: Median = {(n + 1) / 2}th value, where n is the number of values in a set of data. In order to calculate the median, the data must first be sorted in ascending order. The median is the number in the middle.

    How do you find the mode without inbuilt function in Python?

    the best way to find mode is using dict. the key is user input. value is the frequency..
    First get unique elements from the input. ... .
    Make a new_empty dictionary..
    This dictionary stores keys as unique elements and values as how many times the current element is repeated in original input..

    Is median a function in Python?

    median() function in Python statistics module median() function in the statistics module can be used to calculate median value from an unsorted data-list. The biggest advantage of using median() function is that the data-list does not need to be sorted before being sent as parameter to the median() function.