Как удалить несколько столбцов в dataframe, используя с loc, а также с именами столбцов одновременно

#python #pandas #dataframe

#python #pandas #dataframe

Вопрос:

Я хочу удалить несколько столбцов из фрейма данных, из которых несколько столбцов находятся в непрерывном порядке, которые могут быть сгруппированы с помощью df.loc.

Но у меня также есть несколько имен столбцов, которые нужно удалить, используя сами имена столбцов.

может ли кто-нибудь помочь мне, используя df.loc и имена столбцов одновременно в одном и том же drop sattement.

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

Я также хочу удалить еще несколько столбцов с их именем, т.е. Сказать «DOB», «Gender»

Комментарии:

1. что-то вроде: df.drop(df.iloc[:,df.columns.get_loc('Quarter of Joining'):df.columns.get_loc('Age in Company (Years)') 1].columns,axis=1) ??

Ответ №1:

На мой взгляд, ваше решение самое простое, вот альтернатива:

 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 amp; 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)
 

Комментарии:

1. Я также хочу удалить еще несколько столбцов с их именем, например, «DOB», «Gender». , чего я должен быть в состоянии достичь вместе с loc.