如何通过索引标签在Pandas DataFrame中删除行
Pandas为数据分析师提供了一种使用.drop()方法来删除和过滤数据框架的方法。行可以使用索引标签或列名使用此方法删除。
语法:
DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=’raise’)
参数:
labels:引用行或列名称的字符串或字符串列表。
axis:int或string值,0’index’代表Rows,1’columns’代表Columns。
index或columns:单一标签或列表。索引或列是axis的替代品,不能一起使用。
level:用于在数据框架有多级索引的情况下指定级别。
inplace:在原始数据框中进行修改,如果是真的。
errors:如果列表中的任何值不存在,则忽略错误,当错误=’忽略’时,丢弃其余的值。
返回的类型:数据框架,其中包含放弃的值。
现在,让我们创建一个样本数据框架
# import pandas library
import pandas as pd
# dictionary with list object in values
details = {
'Name' : ['Ankit', 'Aishwarya', 'Shaurya','Shivangi'],
'Age' : [23, 21, 22,21],
'University' : ['BHU', 'JNU', 'DU', 'BHU'],
}
# creating a Dataframe object
df = pd.DataFrame(details,columns = ['Name','Age','University'],
index = ['a', 'b', 'c', 'd'])
df
输出:
示例#1:通过行索引标签删除数据框中的单一行。
# import pandas library
import pandas as pd
# dictionary with list object in values
details = {
'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],
'Age' : [23, 21, 22, 21],
'University' : ['BHU', 'JNU', 'DU', 'BHU'],
}
# creating a Dataframe object
df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'],
index = ['a', 'b', 'c', 'd'])
# return a new dataframe by dropping a
# row 'c' from dataframe
update_df = df.drop('c')
update_df
输出 :
例子#2:通过索引标签删除数据框架中的多条记录。
# import pandas library
import pandas as pd
# dictionary with list object in values
details = {
'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],
'Age' : [23, 21, 22, 21],
'University' : ['BHU', 'JNU', 'DU', 'BHU'],
}
# creating a Dataframe object
df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'],
index = ['a', 'b', 'c', 'd'])
# return a new dataframe by dropping a row
# 'b' & 'c' from dataframe
update_df = df.drop(['b', 'c'])
update_df
输出 :
实例#3:按数据框架中的索引位置删除多条记录。
# import pandas library
import pandas as pd
# dictionary with list object in values
details = {
'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],
'Age' : [23, 21, 22, 21],
'University' : ['BHU', 'JNU', 'DU', 'BHU'],
}
# creating a Dataframe object
df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'],
index = ['a', 'b', 'c', 'd'])
# return a new dataframe by dropping a row
# 'b' & 'c' from dataframe using their
# respective index position
update_df = df.drop([df.index[1], df.index[2]])
update_df
输出 :
例子#4:从数据框架中删除行,在地方。
# import pandas library
import pandas as pd
# dictionary with list object in values
details = {
'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],
'Age' : [23, 21, 22, 21],
'University' : ['BHU', 'JNU', 'DU', 'BHU'],
}
# creating a Dataframe object
df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'],
index = ['a', 'b', 'c', 'd'])
# dropping a row 'c' & 'd' from actual dataframe
df.drop(['c', 'd'], inplace = True )
df
输出 :