返回
从 DataFrame 中删除列的详细指南:多种方法和示例
人工智能
2024-01-15 00:39:51
在数据分析和处理中,从 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 中的列。