{"id":3937,"date":"2021-04-27T19:34:42","date_gmt":"2021-04-27T14:04:42","guid":{"rendered":"https:\/\/python-programs.com\/?p=3937"},"modified":"2021-11-22T18:43:03","modified_gmt":"2021-11-22T13:13:03","slug":"python-pandas-how-to-drop-rows-in-dataframe-by-conditions-on-column-values","status":"publish","type":"post","link":"https:\/\/python-programs.com\/python-pandas-how-to-drop-rows-in-dataframe-by-conditions-on-column-values\/","title":{"rendered":"Python Pandas : How to Drop rows in DataFrame by conditions on column values"},"content":{"rendered":"
In this article we will discuss how we can delete rows in a dataframe by certain conditions on column values.<\/p>\n
DataFrame provides a member function Let\u2019s try with an example:<\/p>\n Let\u2019s try with an example by deleting a row:<\/p>\n Here, we give the condition i.e<\/p>\n df[‘Place’] == ‘patna’<\/p>\n Internally if we will see it is giving series object with True and False.<\/p>\n Name: Place, dtype: bool<\/p>\n Let\u2019s try with multiple conditions<\/p>\n Here, we join two conditions i.e df[\u2018Age\u2019]>=30 and df[\u2018Age\u2019]<=40 by putting \u2019&\u2019 between two conditions.<\/p>\n Want to expert in the python programming language? Exploring\u00a0Python Data Analysis using Pandas<\/a>\u00a0tutorial changes your knowledge from basic to advance level in python concepts.<\/p>\n Read more Articles on Python Data Analysis Using Padas \u2013 Remove Contents from a Dataframe<\/strong><\/p>\n How to Drop rows in DataFrame by conditions on column values in Python ? In this article we will discuss how we can delete rows in a dataframe by certain conditions on column values. DataFrame provides a member function drop() which is used to drop specified labels from rows or columns in dataframe. DataFrame.drop(self, labels=None, …<\/p>\ndrop()<\/code> which is used to drop specified labels from rows or columns in dataframe.<\/p>\n
DataFrame.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=\u2019raise\u2019)<\/pre>\n
#Program :\r\n\r\nimport pandas as pd\r\n#list of tuples\r\ngame = [('riya',37,'delhi','cat','rose'),\r\n ('anjali',28,'agra','dog','lily'),\r\n ('tia',42,'jaipur','elephant','lotus'),\r\n ('kapil',51,'patna','cow','tulip'),\r\n ('raj',30,'banglore','lion','orchid')]\r\n\r\n#Create a dataframe object\r\ndf = pd.DataFrame(game, columns=['Name','Age','Place','Animal','Flower'], index=['a','b','c','d','e'])\r\nprint(df)\r\n<\/pre>\n
Output:\r\n \u00a0\u00a0\u00a0 Name\u00a0 Age\u00a0\u00a0\u00a0\u00a0 Place\u00a0\u00a0\u00a0 Animal\u00a0 Flower\r\na\u00a0\u00a0\u00a0 riya\u00a0\u00a0 37\u00a0\u00a0\u00a0\u00a0 delhi\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cat\u00a0\u00a0\u00a0 rose\r\nb\u00a0 anjali\u00a0\u00a0 28\u00a0\u00a0\u00a0\u00a0\u00a0 agra\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dog\u00a0\u00a0\u00a0 lily\r\nc\u00a0\u00a0\u00a0\u00a0 tia\u00a0\u00a0 42\u00a0\u00a0\u00a0 jaipur\u00a0 elephant\u00a0\u00a0 lotus\r\nd\u00a0\u00a0 kapil\u00a0\u00a0 51\u00a0\u00a0\u00a0\u00a0 patna\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cow\u00a0\u00a0 tulip\r\ne\u00a0\u00a0\u00a0\u00a0 raj\u00a0\u00a0 30\u00a0 banglore\u00a0\u00a0\u00a0\u00a0\u00a0 lion\u00a0 orchid<\/pre>\n
Delete rows based on condition on a column<\/strong><\/h3>\n
deleteRow = df[df['Place'] == 'patna'].index\r\ndf.drop(deleteRow, inplace=True)\r\nprint(df)<\/pre>\n
Output:\r\n Name\u00a0 Age\u00a0\u00a0\u00a0\u00a0 Place\u00a0\u00a0\u00a0 Animal\u00a0 Flower\r\na\u00a0\u00a0\u00a0 riya\u00a0\u00a0 37\u00a0\u00a0\u00a0\u00a0 delhi\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cat\u00a0\u00a0\u00a0 rose\r\nb\u00a0 anjali\u00a0\u00a0 28\u00a0\u00a0\u00a0\u00a0\u00a0 agra\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dog\u00a0\u00a0\u00a0 lily\r\nc\u00a0\u00a0\u00a0\u00a0 tia\u00a0\u00a0 42\u00a0\u00a0\u00a0 jaipur\u00a0 elephant\u00a0\u00a0 lotus\r\ne\u00a0\u00a0\u00a0\u00a0 raj\u00a0\u00a0 30\u00a0 banglore\u00a0\u00a0\u00a0\u00a0\u00a0 lion\u00a0 orchid<\/pre>\n
a\u00a0\u00a0 False\r\nb\u00a0\u00a0 False\r\nc\u00a0\u00a0 False\r\nd\u00a0\u00a0 True\r\ne\u00a0\u00a0 False<\/pre>\n
Delete rows based on multiple conditions on a column :<\/strong><\/h3>\n
deleteRow = df[(df['Age'] >= 30) & (df['Age'] <= 40)].index\r\ndf.drop(deleteRow, inplace=True)\r\nprint(df)<\/pre>\n
Output:\r\n\u00a0\u00a0\u00a0 Name\u00a0 Age\u00a0\u00a0\u00a0\u00a0 Place\u00a0 \u00a0 \u00a0Animal\u00a0 \u00a0 Flower\r\nb\u00a0 anjali\u00a0\u00a0 28\u00a0\u00a0\u00a0\u00a0\u00a0 agra\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dog\u00a0\u00a0\u00a0 lily \r\nc\u00a0\u00a0\u00a0\u00a0 tia\u00a0\u00a0 42\u00a0\u00a0\u00a0 jaipur\u00a0 elephant\u00a0\u00a0 lotus<\/pre>\n
\n