df.drop()通过指定标签名称和相应的轴,或直接给定索引或列名称来删除行或列
语法
df.drop(labels = None, axis = 0, index = None, columns = None, level = None, inplace = False, errors = ‘raise’)
参数
1.labels:要删除的列或者行,如果要删除多个,传入列表
2.axis:轴的方向,0为行,1为列,默认为0
3.index:指定的一行或多行
4.columns:指定的一列或多列
5.level:索引层级,将删除此层级
6.inplace:布尔值,是否生效
7.errors:ignore或raise,默认为raise,如果为ignore,则容忍错误,仅删除现有标签
# 删除数据 Dataframe.drop()import pandas as pddf = pd.Dataframe([['x','x',1],['x','x',1],['z','x',2]], columns = ['A','B','C'])# 删除指定行res1 = df.drop([0,1])res2 = df.drop(index = [0,1])# 删除指定列#res3该方法一定要指定axis = 1,否则会报错res3 = df.drop(['B','C'], axis = 1)res4 = df.drop(columns = ['B','C'])
结果展示
df
res1
res2
res3
res4
删除表中的某一行或者某一列更明智的方法是使用drop,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据
扩展
del与drop的区别
在Python中del和drop方法都能够删除dataframe中的列数据,但两者也有着些许区别:
1、del属于Python的内置函数函数,drop属于pandas中的内置函数
2、del 删除列
drop 删除行和列(默认行)
3、drop一次可以处理多个项目;del一次只能操作一个
4、drop可以就地操作或返回副本;del仅是就地操作
5、两种函数在执行效率上很接近,但是在较大数据上,drop函数优势更明显,尤其实在处理多列数据时
del crime['Total']crime=crime.drop(['Total'],axis=1)