Каков наилучший способ удаления столбцов и вставки имен столбцов с использованием Python Pandas?

#python #pandas #multiple-columns

#python #pandas #несколько столбцов

Вопрос:

У меня есть csv с несколькими десятками столбцов, которые по умолчанию не имеют имен, и около половины из которых необходимо удалить. Я выяснил, как называть столбцы при импорте. Пример:

 df = pandas.read_csv('ColumnNameTest.csv', names=['ID', 'Name', 'Flavor'])
  

И я думаю, что я понял, как удалять столбцы:

 df.drop('Flavor', axis='columns', inplace=True)
  

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

Ответ №1:

Если вы хотите удалить много столбцов и сохранить некоторые, вы можете использовать iloc для выбора подмножества столбцов:

 df.iloc[:,[3,5,9,10]]
#then name all columns that left
df.columns=['col3','col5','col9','col10']
  

Или сохранить диапазон столбцов:

 df.iloc[:,3:9]
  

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

1. Спасибо. Когда дело доходит до присвоения имен столбцам, должен ли я называть их, как только я ввожу CSV, или это можно сделать после того, как я выделил нужные мне столбцы?

2. Лучше называть их после, потому что так вы не сделаете что-то бесполезное…

3. Спасибо. Я все еще пытаюсь понять, как называть столбцы после начального read_csv. Каждый раз, когда я пытался переименовать столбцы, в итоге перезаписывалась первая строка…

4. используйте pd.read_csv(filepath,columns=[columns name]) , когда вы хотите сделать это во время чтения. df.columns=[columns name] когда вы захотите сделать это позже