dataframe drop()

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 pd

df = 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)

你可能感兴趣的:(dataframe drop())