按标签名称或索引位置在DataFrame中删除列可以用到以下两种方法:
- 使用
.drop()
方法
该方法默认按照标签名称或索引位置删除行或列,可以通过axis
参数指定删除行或删除列。
删除一列的示例代码如下:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 删除列'B'
df = df.drop('B', axis=1)
print(df)
输出结果为:
A C
0 1 7
1 2 8
2 3 9
其中,参数axis=1
表示删除列,'B'
表示待删除的列名称。
- 使用
del
语句
该语句是Python的内置语句,在DataFrame中可以使用该语句删除列。
删除一列的示例代码如下:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 删除列'B'
del df['B']
print(df)
输出结果为:
A C
0 1 7
1 2 8
2 3 9
其中,'B'
表示待删除的列名称。
需要注意的是:
- 使用
.drop()
方法删除一列时,结果返回的是一个新的DataFrame,原始的DataFrame并没有发生改变。如果需要在原始的DataFrame上进行修改,可以设置inplace=True
参数。 - 使用
del
语句删除一列时,会直接在原始的DataFrame上进行修改,不需要设置其他参数。 - 如果需要删除多个列,可以将列名称或索引位置放在列表中,例如
df.drop(['B', 'C'], axis=1)
表示删除列’B’和列’C’。