pandas.DataFrame.drop()
是pandas中DataFrame对象的一个函数,用于删除DataFrame中的行或列。
语法
pandas.DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
其中,各参数的含义如下:
labels
:需要删除的行或列的标签或标签列表。axis
:指定删除行还是删除列,0表示删除行,默认值为0。index
:需要删除的行的标签或标签列表,与labels
参数同时使用时会覆盖labels
参数。columns
:需要删除的列的标签或标签列表,与labels
参数同时使用时会覆盖labels
参数。level
:指定需要删除的多级行或列的级数,默认为None。inplace
:是否就地修改原DataFrame对象,True表示就地修改,False表示返回一个删除行或列后的新DataFrame,默认值为False。errors
:指定不存在的标签是否引发异常,’raise’表示引发异常,’ignore’表示忽略不存在的标签,默认值为’raise’。
示例
下面通过两个示例说明pandas.DataFrame.drop()
函数的使用方法。
示例一:删除行
我们先创建一个pandas DataFrame对象:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Amy', 'Bob', 'Ann'],
'age': [20, 23, 18, 25, 27],
'gender': ['male', 'male', 'female', 'male', 'female'],
'score': [80, 90, 85, 70, 95]
}
df = pd.DataFrame(data)
print(df)
输出结果如下:
name age gender score
0 Tom 20 male 80
1 Jerry 23 male 90
2 Amy 18 female 85
3 Bob 25 male 70
4 Ann 27 female 95
我们可以使用pandas.DataFrame.drop()
函数删除一行或多行,比如删除第1行和第3行:
df = df.drop([0, 2])
print(df)
输出结果如下:
name age gender score
1 Jerry 23 male 90
3 Bob 25 male 70
4 Ann 27 female 95
我们可以看到,第1行和第3行被成功删除了。
示例二:删除列
我们再创建一个pandas DataFrame对象:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Amy', 'Bob', 'Ann'],
'age': [20, 23, 18, 25, 27],
'gender': ['male', 'male', 'female', 'male', 'female'],
'score': [80, 90, 85, 70, 95]
}
df = pd.DataFrame(data)
print(df)
输出结果如下:
name age gender score
0 Tom 20 male 80
1 Jerry 23 male 90
2 Amy 18 female 85
3 Bob 25 male 70
4 Ann 27 female 95
我们可以使用pandas.DataFrame.drop()
函数删除一列或多列,比如删除’name’列和’gender’列:
df = df.drop(columns=['name', 'gender'])
print(df)
输出结果如下:
age score
0 20 80
1 23 90
2 18 85
3 25 70
4 27 95
我们可以看到,’name’列和’gender’列被成功删除了。