#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.