📌  相关文章
📜  pandas 删除除某些列之外的所有列 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.589000             🧑  作者: Mango

pandas 删除除某些列之外的所有列

当我们使用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

现在,我们想要保留namecity列,删除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

这样就只保留了namecity列,删除了age列。需要注意的是,对于较大的数据框,使用df[cols_to_keep]来选择列可能会更快。

以上就是使用pandas删除除某些列之外的所有列的方法。