Python 如何在dataframe中同时使用with loc和column name删除多个列

Python 如何在dataframe中同时使用with loc和column name删除多个列,python,pandas,dataframe,Python,Pandas,Dataframe,我想从dataframe中删除几个列,其中几个列是连续的,可以使用df.loc进行分组 但我也有一些列名需要使用列名本身删除 有人能帮我吗?在同一个下拉语句中同时使用df.loc和列名 df_modified = df.drop(df.loc[:, 'Quarter of Joining': 'Age in Company (Years)'].columns, axis =1) 我还想删除更多的列,这些列的名称是“DOB”,“Gender”在我看来,您的解决方案是最简单的,以下是备选方案: a

我想从dataframe中删除几个列,其中几个列是连续的,可以使用df.loc进行分组

但我也有一些列名需要使用列名本身删除

有人能帮我吗?在同一个下拉语句中同时使用df.loc和列名

df_modified = df.drop(df.loc[:, 'Quarter of Joining': 'Age in Company (Years)'].columns, axis =1)

我还想删除更多的列,这些列的名称是“DOB”,“Gender”

在我看来,您的解决方案是最简单的,以下是备选方案:

another = ['DOB','Gender']
m1 = (df.columns.values == 'Quarter of Joining').cumsum() != 0
m2 = (df.columns.values[::-1] == 'Age in Company (Years)').cumsum() != 0

df_modified = df = df.drop(df.columns[m1 & m2[::-1]].union(another), axis=1)
应修改您的解决方案:

another = ['DOB','Gender']
c = df.loc[:, 'Quarter of Joining': 'Age in Company (Years)'].columns

df_modified = df.drop(c.union(another), axis=1)

类似于:
df.drop(df.iloc[:,df.columns.get_loc(“加入的四分之一”):df.columns.get_loc(“在公司的年龄(年)”)+1]。columns,axis=1)
?我还想删除一些名称为“DOB”,“Gender.”的列,这应该可以与loc一起实现。