📅  最后修改于: 2023-12-03 15:18:14.589000             🧑  作者: Mango
当我们使用pandas进行数据分析时,我们可能需要仅保留某些列,而删除其他列。这是有用的,因为有些列可能比较冗余或无关紧要,删除它们可以提高数据分析的效率。下面介绍如何使用pandas删除除某些列之外的所有列。
首先,假设我们有一个数据框如下:
import pandas as pd
data = {'name':['Adam', 'Bob', 'Charlie', 'David'],
'age':[25, 30, 35, 40],
'city':['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)
print(df)
输出:
name age city
0 Adam 25 Beijing
1 Bob 30 Shanghai
2 Charlie 35 Guangzhou
3 David 40 Shenzhen
现在,我们想要保留name
和city
列,删除age
列。可以使用drop
方法删除列, 不能直接用列名的列表作为参数, 因为drop
除了列名, 还有行号轴向的参数。解决办法是先列出要保留的列名, 然后再通过列名选中列:
cols_to_keep = ['name', 'city']
df = df[cols_to_keep]
print(df)
输出:
name city
0 Adam Beijing
1 Bob Shanghai
2 Charlie Guangzhou
3 David Shenzhen
这样就只保留了name
和city
列,删除了age
列。需要注意的是,对于较大的数据框,使用df[cols_to_keep]
来选择列可能会更快。
以上就是使用pandas删除除某些列之外的所有列的方法。