w3resource

Pandas Practice Set-1: Filter the DataFrame rows to only show carat weight at least 0.3


15. Filter Rows with Carat Weight at Least 0.3

Write a Pandas program to filter the DataFrame rows to only show carat weight at least 0.3.

Sample Solution :

Python Code :

import pandas as pd
diamonds = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/diamonds.csv')
print("Original Dataframe:")
print(diamonds.head(20))
print("\nRows to only show carat weight at least 0.3:")
booleans = []
for w in diamonds.carat:
   if w >= .3:
       booleans.append(True)
   else:
       booleans.append(False)
print(booleans[0:20])

Sample Output:

Original Dataframe:
    carat        cut color clarity  depth  table  price     x     y     z
0    0.23      Ideal     E     SI2   61.5   55.0    326  3.95  3.98  2.43
1    0.21    Premium     E     SI1   59.8   61.0    326  3.89  3.84  2.31
2    0.23       Good     E     VS1   56.9   65.0    327  4.05  4.07  2.31
3    0.29    Premium     I     VS2   62.4   58.0    334  4.20  4.23  2.63
4    0.31       Good     J     SI2   63.3   58.0    335  4.34  4.35  2.75
5    0.24  Very Good     J    VVS2   62.8   57.0    336  3.94  3.96  2.48
6    0.24  Very Good     I    VVS1   62.3   57.0    336  3.95  3.98  2.47
7    0.26  Very Good     H     SI1   61.9   55.0    337  4.07  4.11  2.53
8    0.22       Fair     E     VS2   65.1   61.0    337  3.87  3.78  2.49
9    0.23  Very Good     H     VS1   59.4   61.0    338  4.00  4.05  2.39
10   0.30       Good     J     SI1   64.0   55.0    339  4.25  4.28  2.73
11   0.23      Ideal     J     VS1   62.8   56.0    340  3.93  3.90  2.46
12   0.22    Premium     F     SI1   60.4   61.0    342  3.88  3.84  2.33
13   0.31      Ideal     J     SI2   62.2   54.0    344  4.35  4.37  2.71
14   0.20    Premium     E     SI2   60.2   62.0    345  3.79  3.75  2.27
15   0.32    Premium     E      I1   60.9   58.0    345  4.38  4.42  2.68
16   0.30      Ideal     I     SI2   62.0   54.0    348  4.31  4.34  2.68
17   0.30       Good     J     SI1   63.4   54.0    351  4.23  4.29  2.70
18   0.30       Good     J     SI1   63.8   56.0    351  4.23  4.26  2.71
19   0.30  Very Good     J     SI1   62.7   59.0    351  4.21  4.27  2.66

Rows to only show carat weight at least 0.3:
[False, False, False, False, True, False, False, False, False, False, True, False, False, True, False, True, True, True, True, True]

For more Practice: Solve these Related Problems:

  • Write a Pandas program to filter the diamonds DataFrame for rows where the 'carat' is greater than or equal to 0.3 and display the result.
  • Write a Pandas program to extract diamonds with a carat weight of at least 0.3 and then sort the filtered data by price.
  • Write a Pandas program to filter the DataFrame for diamonds with carat >= 0.3 and count the number of such records.
  • Write a Pandas program to filter rows based on the condition 'carat' >= 0.3 and compute the average price of the selected diamonds.

Go to:


Previous: Write a pandas program to sort the entire diamonds DataFrame by the 'carat' Series in ascending and descending order.
Next: Write a pandas program to convert a python list to pandas series.

Python Code Editor:

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

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.