w3resource

Pandas DataFrame: Select the rows, the score is between 15 and 20 (inclusive)

Pandas: DataFrame Exercise-10 with Solution

Write a Pandas program to select the rows the score is between 15 and 20 (inclusive).

Sample DataFrame:
Sample Python dictionary data and list labels:
exam_data = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

Sample Solution :

Python Code :

import pandas as pd
import numpy as np
exam_data  = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
        'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
        'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
        'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

df = pd.DataFrame(exam_data , index=labels)
print("Rows where score between 15 and 20 (inclusive):")
print(df[df['score'].between(15, 20)])

Sample Output:

Rows where score between 15 and 20 (inclusive):                        
   attempts       name qualify  score                                  
c         2  Katherine     yes   16.5                                  
f         3    Michael     yes   20.0                                  
j         1      Jonas     yes   19.0                                

Explanation:

The above Pandas code first creates a dataframe ‘df’ from the dictionary ‘exam_data’ using the list labels as index. It then filters the rows of ‘df’ that have a 'score' value between 15 and 20 (inclusive) using the between() method of a Pandas series.

Finally print() function prints the resulting filtered dataframe.

Python-Pandas Code Editor:

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

Previous: Write a Pandas program to select the rows where the score is missing, i.e. is NaN.
Next: Write a Pandas program to select the rows where number of attempts in the examination is less than 2 and score greater than 15.

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://w3resource.com/python-exercises/pandas/python-pandas-data-frame-exercise-10.php