我想从数据框中删除几列,其中几列是连续的,可以使用df.loc进行分组。
但我也有几个列名需要使用列名本身删除。
有人可以帮助我,在同一个drop sattement中同时使用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)