如何通过同时使用loc和列名来删除数据框中的多列

时间:2019-04-16 10:22:46

标签: python pandas dataframe

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

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

有人可以在相同的下拉菜单中同时使用df.loc和列名吗?

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

我还想添加一些名称更具体的列,例如“ DOB”,“性别”

1 个答案:

答案 0 :(得分:3)

我认为您的解决方案最简单,这是替代方案:

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)