#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]
когда вы захотите сделать это позже