pandas drop

pandas drop

pandas drop

在pandas中,有一个非常常用的函数叫做drop,它可以用来删除DataFrame或Series中的行或列。在数据处理中,我们经常需要删除一些不需要的数据,或者只保留感兴趣的数据,这个时候drop就能派上用场。

DataFrame中的drop

首先我们来看一下如何在DataFrame中使用drop函数。我们先创建一个包含一些数据的DataFrame:

import pandas as pd

data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12]
}

df = pd.DataFrame(data)
print(df)

运行以上代码,我们可以看到DataFrame df的内容如下:

   A  B   C
0  1  5   9
1  2  6  10
2  3  7  11
3  4  8  12

现在我们想要删除列B,可以使用drop函数:

df = df.drop('B', axis=1)
print(df)

运行以上代码,我们可以看到列B已经被成功删除了:

   A   C
0  1   9
1  2  10
2  3  11
3  4  12

除了删除列,我们也可以删除行。比如我们想要删除第2行,可以这样做:

df = df.drop(1)
print(df)

运行以上代码,我们可以看到第2行已经被成功删除了:

   A   C
0  1   9
2  3  11
3  4  12

Series中的drop

除了DataFrame,我们还可以在Series中使用drop函数。同样的,我们先创建一个包含一些数据的Series:

s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
print(s)

运行以上代码,我们可以看到Series s的内容如下:

a  1
b  2
c  3
d  4
dtype: int64

现在我们想要删除索引为b的行,可以使用drop函数:

s = s.drop('b')
print(s)

运行以上代码,我们可以看到索引为b的行已经被成功删除了:

a  1
c  3
d  4
dtype: int64

drop函数的注意事项

在使用drop函数时,有一些需要注意的事项。首先,drop函数默认是返回一个新的对象,不会修改原对象。如果我们想要直接在原对象上进行操作,可以设置参数inplace为True:

df.drop('A', axis=1, inplace=True)
print(df)

运行以上代码,我们可以看到列A已经被成功删除了:

    C
0   9
1  10
2  11
3  12

另外,drop函数还有一个参数labels,可以用来删除多个行或列:

df = df.drop(labels=['C', 1])
print(df)

运行以上代码,我们可以看到列C和第2行已经被成功删除了:

   A
0  1
2  3
3  4

除了labels参数外,我们还可以使用索引切片来删除多个行或列:

df = df.drop(df.index[1:])
print(df)

运行以上代码,我们可以看到第2行及其之后的行都已经被成功删除了:

   A
0  1

结语

通过本文的介绍,我们学习了如何在pandas中使用drop函数删除DataFrame或Series中的行或列。drop函数是一个非常实用的函数,在数据处理中经常会用到。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程