要保留DataFrame中的特定列,删除所有其他列名所在的内容,可以使用pandas库的drop
函数和inplace
参数。
以下是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['Tom', 'Nick', 'John'],
'Age': [28, 32, 25],
'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)
# 保留特定列(例如,'Name'和'Age')
columns_to_keep = ['Name', 'Age']
df.drop(columns=[col for col in df.columns if col not in columns_to_keep], inplace=True)
# 打印结果
print(df)
输出结果为:
Name Age
0 Tom 28
1 Nick 32
2 John 25
在上面的代码中,我们首先创建了一个示例DataFrame。然后,我们定义了要保留的特定列的列表columns_to_keep
,这里我们选择了'Name'和'Age'列。
接下来,我们使用列表推导式来生成要删除的列名的列表。这里我们使用df.columns
获取DataFrame的所有列名,然后将不在columns_to_keep
列表中的列名添加到要删除的列表中。
最后,我们使用drop
函数将要删除的列传递给columns
参数,并将inplace
参数设置为True
,以便在原始DataFrame上进行操作。
请注意,inplace=True
表示在原始DataFrame上直接进行修改,而不是创建一个新的DataFrame。