返回

从 DataFrame 中删除列的详细指南:多种方法和示例

人工智能

在数据分析和处理中,从 DataFrame 中删除列是一个常见的任务。Pandas 提供了几种不同的方法来实现此操作,每种方法都有其独特的优点和适用场景。在这篇文章中,我们将详细介绍如何从 DataFrame 中删除列,并提供多个示例来说明每种方法的使用。

1. 使用 drop() 函数删除列

drop() 函数是删除 DataFrame 中列最常用的方法。它允许您根据列名称或列索引来删除列。

  • 根据列名称删除列
import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30], 'City': ['New York', 'Los Angeles', 'Chicago']})

# 使用 `drop()` 函数根据列名称删除列
df = df.drop('City', axis=1)

# 打印 DataFrame
print(df)

输出:

   Name  Age
0  John   20
1  Mary   25
2  Bob   30
  • 根据列索引删除列
import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30], 'City': ['New York', 'Los Angeles', 'Chicago']})

# 使用 `drop()` 函数根据列索引删除列
df = df.drop(2, axis=1)

# 打印 DataFrame
print(df)

输出:

   Name  Age
0  John   20
1  Mary   25
2  Bob   30

2. 使用 del 语句删除列

del 语句也可以用来删除 DataFrame 中的列。但是,与 drop() 函数不同,del 语句会直接从 DataFrame 中删除列,而不会创建新的 DataFrame。

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30], 'City': ['New York', 'Los Angeles', 'Chicago']})

# 使用 `del` 语句删除列
del df['City']

# 打印 DataFrame
print(df)

输出:

   Name  Age
0  John   20
1  Mary   25
2  Bob   30

3. 使用 pop() 方法删除列

pop() 方法可以用来删除 DataFrame 中的特定列,并返回被删除的列。

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30], 'City': ['New York', 'Los Angeles', 'Chicago']})

# 使用 `pop()` 方法删除列
city_column = df.pop('City')

# 打印 DataFrame
print(df)

输出:

   Name  Age
0  John   20
1  Mary   25
2  Bob   30

打印被删除的列:

print(city_column)

输出:

0    New York
1  Los Angeles
2     Chicago
Name: City, dtype: object

总结

在这篇文章中,我们介绍了如何使用 drop() 函数、del 语句和 pop() 方法从 DataFrame 中删除列。每种方法都有其独特的优点和适用场景。在实际应用中,您可以根据自己的需求选择合适的方法来删除 DataFrame 中的列。