Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
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?



Python: Tips of the Day

Find current directory and file's directory:

To get the full path to the directory a Python file is contained in, write this in that file:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)

To get the current working directory use

import os
cwd = os.getcwd()

Documentation references for the modules, constants and functions used above:

  • The os and os.path modules.
  • The __file__ constant
  • os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
  • os.path.dirname(path) (returns "the directory name of pathname path")
  • os.getcwd() (returns "a string representing the current working directory")
  • os.chdir(path) ("change the current working directory to path")

Ref: https://bit.ly/3fy0R6m