python dataframe pandas drop column, используя int

Я понимаю, что для удаления столбца используется df.drop ('column name', axis = 1). Есть ли способ удалить столбец с помощью числового индекса вместо имени столбца?

3 Solutions collect form web for “python dataframe pandas drop column, используя int”

Вы можете удалить столбец в индексе i следующим образом:

 df.drop(df.columns[i], axis=1) 

Это может работать странно, если у вас есть дубликаты имен в столбцах, поэтому для этого вы можете переименовать столбец, который хотите удалить столбец по новому имени. Или вы можете переназначить DataFrame следующим образом:

 df = df.iloc[:, [j for j, c in enumerate(df.columns) if j != i]] 

Отбросьте несколько столбцов, например:

 cols = [1,2,4,5,12] df.drop(df.columns[cols],axis=1,inplace=True) 

если вы действительно хотите сделать это с помощью целых чисел (но почему?), тогда вы можете создать словарь.

 col_dict = {x: col for x, col in enumerate(df.columns)} 

то df = df.drop(col_dict[0], 1) будет работать по желанию

edit: вы можете поместить его в функцию, которая делает это для вас, хотя таким образом он создает словарь каждый раз, когда вы его вызываете

 def drop_col_n(df, col_n_to_drop): col_dict = {x: col for x, col in enumerate(df.columns)} return df.drop(col_dict[col_n_to_drop], 1) df = drop_col_n(df, 2) 
  • Python pandas datareader не работает
  • Инерциальные мультииндексные счета в Пандах
  • Python: получение строки, которая имеет максимальное значение в группах с помощью groupby
  • выборка логической выборки по столбцам вместо строки
  • Настройка цвета фона в Seaborn
  • Не удалось преобразовать строку в ошибку float.
  • Разница между asfreq и resample
  • преобразовать dict в отсортированный dict в python
  • Переплетение двух данных
  • Как настроить матрицу рассеяния, чтобы увидеть все заголовки?
  • Как создать групповые подсети в Пандах?
  • Python - лучший язык программирования в мире.