按标签名称或按索引位置在DataFrame中删除列

  • Post category:Python

按标签名称或索引位置在DataFrame中删除列可以用到以下两种方法:

  1. 使用.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'表示待删除的列名称。

  1. 使用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’。