What is the method to determine the number of occurrences of each unique value in a Pandas Series in Python?

Can anyone tell me about different methods and techniques available for counting the frequency or the number of occurrences of unique items in a series? I know there are several methods of achieving this ask, I tried one which uses a Python dictionary but I believe that there are more efficient ones. Here is the one I used:

  • This technique creates a dictionary and loops through all items in the series and using the get(item, default) method, the counts are updated.
  • get(item, default) method retrieves values associated with keys in the dictionary; item is the key to which the value you want to find, and default is the value to return if the key is not found.

You can use the function np.unique() which is a NumPy function used to return unique values from a sequence of values. When the function’s parameter return_counts is set to True, it not only returns the unique values in an array or list but also the count of each unique value.

Note: The np.unique() function returns separate lists for the unique items and their counts. Therefore, we map the items to their respective counts using the zip() function.

There is a library in Python collections in which you can find a Counter class that can be used to count the frequency of elements in a list or a sequence. You can simply pass the series to the Counter class and get the frequency counts.

@mubashir_rizvi, As we all know that Pandas has a powerful method groupby() which can solve your problem too. This method groups rows of a dataframe or series object based on one or more columns or indexes. After grouping, various statistical functions or other operations on each group can be applied to aggregate the data. For your task, you can use the count() method to count occurrences of the unique groups (values).

@mubashir_rizvi You can use the value_counts() function in Pandas to get a series containing counts of unique values. This is a simple and efficient method that can be used to count the frequency of unique items in a series.

  • The code imports Panda’s library, which is used for data manipulation and analysis.
  • A series 'my_series' is defined with a list of numbers.
  • The value_counts() function is applied to the series “my_series.” This function returns a Pandas series containing counts of unique values.
  • The counts series is assigned to the variable “counts.”
  • The result is printed using the print statement, which displays the frequency counts of unique items in the series.