You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas DataFrame中删除单个或多个列

在Pandas DataFrame中删除列的6种实用方法

先创建一个示例DataFrame,方便后续演示:

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9], 'D': [10, 11, 12], 'E': [13, 14, 15]}
df = pd.DataFrame(data)

1. drop() 方法(最通用)

这是最常用的删除列方式,支持单列/多列删除,还能选择是否直接修改原DataFrame:

# 删除单个列
df.drop('A', axis=1, inplace=True)

# 删除多个列(两种写法都可行)
df.drop(['B', 'C'], axis=1, inplace=True)
# 用columns参数更直观
df.drop(columns=['B', 'C'], inplace=True)

提示:如果不用inplace=True,方法会返回删除列后的新DataFrame,原DataFrame保持不变。

2. del 关键字(简单直接)

如果只需要删除单个列,用del最省事,直接修改原DataFrame:

del df['A']

3. pop() 方法(删除并获取列数据)

需要用到被删除列的数据时,用pop()最合适——它会删除指定列,同时返回该列的Series对象:

# 删除列A并把数据存起来
col_a_data = df.pop('A')

4. 反向选择保留列(适合删除大量列)

如果要删除的列很多,只需要保留少数几列,直接选择保留的列重新赋值即可:

# 仅保留A、B列,相当于删除C、D、E
df = df[['A', 'B']]

5. loc 精准选择保留列

用loc可以更严谨地筛选列,还能通过反选排除指定列:

# 直接保留指定列
df = df.loc[:, ['A', 'B']]

# 排除指定列(删除C、D列)
df = df.loc[:, ~df.columns.isin(['C', 'D'])]

6. iloc 通过列索引删除

知道列的位置索引时,可以用iloc按位置删除,适合列名不固定但位置确定的场景:

# 保留第0、1、4列(对应A、B、E),相当于删除C、D
df = df.iloc[:, [0, 1, 4]]

# 或者用切片保留前两列(A、B)
df = df.iloc[:, :2]

内容的提问来源于stack exchange,提问作者Aditi Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:10:35