如何在Pandas中删除包含特定值的行
在这篇文章中,我们将讨论如何在Pandas中删除包含特定值的行。丢弃行意味着从数据框架中移除数值,我们可以通过使用条件或关系运算符丢弃特定的数值。
方法1:通过使用操作符删除特定值
我们可以使用column_name函数和操作符来删除特定的值。
语法 : dataframe[dataframe.column_name operator value]
其中,
- dataframe是输入数据帧
- column_name是要删除的那一列的值
- operator 是关系操作符
- value 是指要从特定列中删除的特定值
通过使用不同的运算符来删除列
# import pandas module
import pandas as pd
# create dataframe with 4 columns
data = pd.DataFrame({
"name": ['sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya'],
"subjects": ['java', 'java', 'java', 'python',
'python', 'python', 'html/php', 'html/php',
'html/php', 'php/js', 'php/js', 'php/js'],
"marks": [98, 79, 89, 97, 82, 98, 90,
87, 78, 89, 93, 94]
})
# display
print(data)
print("---------------")
# drop rows where value is 98
# by using not equal operator
print(data[data.marks != 98])
print("---------------")
输出:
方法2:删除列表中包含数值的行
通过使用这种方法,我们可以删除列表中存在的多个值,我们正在使用isin()操作符。这个操作符用于检查给定的值是否存在于列表中。
语法: dataframe[dataframe.column_name.isin(list_of_values) == False]
其中,
- dataframe 是输入数据框架
- column_name是要删除这一列的值
- list_of_values是要删除的具体数值
# import pandas module
import pandas as pd
# create dataframe with 4 columns
data = pd.DataFrame({
"name": ['sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya'],
"subjects": ['java', 'java', 'java', 'python',
'python', 'python', 'html/php',
'html/php', 'html/php', 'php/js',
'php/js', 'php/js'],
"marks": [98, 79, 89, 97, 82, 98, 90, 87,
78, 89, 93, 94]
})
# consider the list
list1 = [98, 82, 79]
# drop rows from above list
print(data[data.marks.isin(list1) == False])
print("---------------")
list2 = ['sravan', 'jyothika']
# drop rows from above list
print(data[data.name.isin(list2) == False])
输出:
方法3:删除在多列中包含特定值的行
我们可以通过使用关系运算符从多个列中删除特定的值。
语法 : dataframe[(dataframe.column_name operator value ) relational_operator (dataframe.column_name operator value )]
其中,
- dataframe 是输入数据框架
- column_name 是列
- operator 是关系运算符
# import pandas module
import pandas as pd
# create dataframe with 4 columns
data = pd.DataFrame({
"name": ['sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya',
'sravan', 'jyothika', 'harsha', 'ramya'],
"subjects": ['java', 'java', 'java', 'python',
'python', 'python', 'html/php',
'html/php', 'html/php', 'php/js',
'php/js', 'php/js'],
"marks": [98, 79, 89, 97, 82, 98, 90,
87, 78, 89, 93, 94]
})
# drop specific values
# where marks is 98 and name is sravan
print(data[(data.marks != 98) & (data.name != 'sravan')])
print("------------------")
# drop specific values
# where marks is 98 or name is sravan
print(data[(data.marks != 98) | (data.name != 'sravan')])
输出: