Pandas一次性从DataFrame中删除多个Series

Pandas一次性从DataFrame中删除多个Series

在本文中,我们将介绍如何使用Pandas删除多个Series,以便在同一命令中删除多个列。

如果要删除一个DataFrame中的单个Series,像下面这样使用drop函数即可:

df.drop('column_name', axis=1, inplace=True)
Python

但是,如果你想要删除多个列,并且想要在一个命令中完成,那该怎么办呢?在Pandas中,我们可以使用同样的drop函数,只需传递一个由多个列组成的列名列表即可。

df.drop(['column_name_1', 'column_name_2'], axis=1, inplace=True)
Python

这就会同时删除这两列,而不是分别一个一个地删除。

除此之外,还有一种方法可以做到这一点,即而是通过drop函数的支持性操作,来删除多个列。这种方法可以通过选择要保留的列,而不是选择要删除的列。然后,我们可以使用.loc来选择要删除的列,像下面这样:

df = df.loc[:, ~df.columns.isin(['column_name_1', 'column_name_2'])]
Python

这对于删除列时有用,因为它也允许我们按名称获得列,而不是按索引。

你也可以使用np.setdiff1d 来从所有列中减去要删除的列,这样我们就可以得到要保留的所有其他列。如下所示:

import numpy as np

cols_to_drop = ['column_name_1', 'column_name_2']
cols_to_keep = np.setdiff1d(df.columns, cols_to_drop)
df = df[cols_to_keep]

Python

阅读更多:Pandas 教程

总结

在Pandas中同时删除多个列非常容易,只需使用drop函数,传递一个由列名组成的列表即可。此外,我们还可以使用.locnp.setdiff1d 进行操作。

注意,在运行任何删除列的操作之前,请仔细检查您的数据,确保您不会在删除特定列之前失去任何有价值的信息。如果有任何疑虑,请在删除列之前备份数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程