w3resource

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

Pandas Practice Set-1: Exercise-15 with Solution

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]

Python Code Editor:

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

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.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.