w3resource

Pandas Data Series: Display most frequent value in a given series and replace everything else as ‘Other’ in the series

Pandas: Data Series Exercise-20 with Solution

Write a Pandas program to display most frequent value in a given series and replace everything else as ‘Other’ in the series.

Sample Solution :

Python Code :

import pandas as pd
import numpy as np
num_series = pd.Series(np.random.randint(1, 5, [15]))
print("Original Series:")
print(num_series)
print("Top 2 Freq:", num_series.value_counts())
result = num_series[~num_series.isin(num_series.value_counts().index[:1])] = 'Other'
print(num_series)

Sample Output:

Original Series:
0     3
1     1
2     1
3     3
4     2
5     2
6     1
7     2
8     3
9     1
10    2
11    2
12    2
13    3
14    3
dtype: int64
Top 2 Freq: 2    6
3    5
1    4
dtype: int64
0     Other
1     Other
2     Other
3     Other
4         2
5         2
6     Other
7         2
8     Other
9     Other
10        2
11        2
12        2
13    Other
14    Other
dtype: object        

Explanation:

num_series = pd.Series(np.random.randint(1, 5, [15])): This line creates a Pandas Series object 'num_series' containing 15 random integers between 1 and 5 using the np.random.randint() method.

result = num_series[~num_series.isin(num_series.value_counts().index[:1])] = 'Other': This line creates a boolean mask using the .isin() method to check which values in the Pandas Series object 'num_series' are equal to the most frequent value in the Series object, which is obtained using the .value_counts() method and selecting the first index using the slicing notation [:1]. The tilde (~) operator is used to negate the boolean mask, resulting in a mask that selects all values that are not equal to the most frequent value.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to calculate the frequency counts of each unique value of a given series.
Next: Write a Pandas program to find the positions of numbers that are multiples of 5 of a given series.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/pandas/python-pandas-data-series-exercise-20.php