优草派  >   Python

pandas删除多列

徐晨光            来源:优草派

Pandas是一个强大的Python数据分析工具,它提供了许多函数和方法来处理数据。在实际数据分析中,我们经常需要对数据进行清洗和预处理,其中一个重要的步骤就是删除多列。本文将从多个角度分析Pandas删除多列的方法。一、使用drop方法

pandas删除多列

Pandas提供了drop方法来删除指定列。该方法的参数为要删除的列名或列名列表。下面是一个示例代码:

```

import pandas as pd

# 创建一个DataFrame

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 删除指定列

df = df.drop(['B', 'C'], axis=1)

print(df)

```

该代码中,我们通过drop方法删除了B和C两列,结果如下:

```

A

0 1

1 2

2 3

```

需要注意的是,drop方法不会修改原始DataFrame,而是返回一个新的DataFrame。如果要修改原始DataFrame,需要使用inplace参数,将其设置为True。例如:

```

df.drop(['B', 'C'], axis=1, inplace=True)

```

二、使用del语句

除了drop方法之外,我们还可以使用del语句来删除指定列。该语句的格式为del df['column'],其中df为要操作的DataFrame,column为要删除的列名。下面是一个示例代码:

```

import pandas as pd

# 创建一个DataFrame

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 删除指定列

del df['B']

del df['C']

print(df)

```

该代码中,我们使用del语句删除了B和C两列,结果如下:

```

A

0 1

1 2

2 3

```

需要注意的是,del语句会直接修改原始DataFrame,所以要谨慎使用。

三、使用filter方法

除了上述方法之外,我们还可以使用filter方法来删除多列。该方法的参数为一个函数,该函数的输入为列名,输出为布尔值。如果输出为True,则保留该列,否则删除该列。下面是一个示例代码:

```

import pandas as pd

# 创建一个DataFrame

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 删除指定列

df = df.filter(lambda x: x not in ['B', 'C'])

print(df)

```

该代码中,我们使用filter方法删除了B和C两列,结果如下:

```

A

0 1

1 2

2 3

```

需要注意的是,filter方法也不会修改原始DataFrame,而是返回一个新的DataFrame。

四、使用iloc方法

除了上述方法之外,我们还可以使用iloc方法来删除多列。该方法的参数为一个切片对象,用于选择要保留的列。下面是一个示例代码:

```

import pandas as pd

# 创建一个DataFrame

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 删除指定列

df = df.iloc[:, [0]]

print(df)

```

该代码中,我们使用iloc方法保留了第一列,删除了第二列和第三列,结果如下:

```

A

0 1

1 2

2 3

```

需要注意的是,iloc方法也不会修改原始DataFrame,而是返回一个新的DataFrame。

总结

本文介绍了Pandas删除多列的几种方法,包括drop方法、del语句、filter方法和iloc方法。需要根据实际情况选择合适的方法。需要注意的是,这些方法都不会修改原始DataFrame,而是返回一个新的DataFrame或直接修改原始DataFrame。在使用时要谨慎。

【关键词】Pandas、删除、多列。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。