В этом руководстве по Python Pandas я подробно рассмотрю тему того, как удалить безымянный столбец в Pandas Python, с некоторыми примерами.
- Что такое «Безымянный» столбец
- При экспорте DataFrame в файл CSV
- После его экспорта в файл CSV
- С помощью метода drop()
- Зачем удалять безымянный столбец
- Когда удалять столбцы без имени
Что такое «Безымянный» столбец
Когда мы создаем DataFrame Pandas и экспортируем его в CSV-файл на Python, к существующему DataFrame добавляется дополнительный столбец, что увеличивает сложность. Этот дополнительный столбец, бесполезный для дальнейшего анализа, и называется безымянный столбец.
Чтобы углубиться в это, давайте сначала создадим DataFrame Pandas.
- В приведенном ниже коде я создал фрейм данных Python Pandas.
- Экспортируйте кадр данных в файл CSV, вызвав функцию to_csv в Python.
- Затем попробуйте прочитать файл CSV с помощью функции pd.read_csv().
#Import the necessary libraries import pandas as pd #Create Pandas DataFrame data_dict={'Name':['Nick','Stephen','David','Jonas','Giga','Justin','James','Robert'], 'Location': ['USA','UK','Australia','USA','USA','Australia','UK','USA'], 'Age':[24,34,42,18,27,52,21,35]} Data=pd.DataFrame(data_dict) #Export the DataFrame to csv file Data.to_csv('Travellers') #Print the Pandas DataFrame that is exported Travellers_data=pd.read_csv('Travellers') print(Travellers_data)
Выход:
Unnamed: 0 Name Location Age 0 0 Nick USA 24 1 1 Stephen UK 34 2 2 David Australia 42 3 3 Jonas USA 18 4 4 Giga USA 27 5 5 Justin Australia 52 6 6 James UK 21 7 7 Robert USA 35
На выходном изображении ниже вы можете заметить, что вместе с входными данными, которые мы указали в Pandas DataFrame, также добавляется дополнительный бесполезный столбец, то есть столбец «Безымянный: 0».
Существует множество способов удалить столбец «Безымянный» из DataFrame Pandas.
При экспорте DataFrame в файл CSV
Столбец без имени в кадре данных Pandas в Python автоматически создается при экспорте файла и отображается с именем Безымянный: 0.
Чтобы избежать создания столбцов без имени или Безымянного: 0 в кадре данных в Python, мы должны установить значение False для параметра Index при экспорте DataFrame в CSV в Python.
Вот как выглядит встроенная функция DataFrame.to_csv(‘exported_file.csv’, index=False’).
Пример:
#Import the necessary libraries import pandas as pd #Create Pandas DataFrame data_dict={'Name':['Nick','Stephen','David','Jonas','Giga','Justin','James','Robert'], 'Location': ['USA','UK','Australia','USA','USA','Australia','UK','USA'], 'Age':[24,34,42,18,27,52,21,35]} Data=pd.DataFrame(data_dict) #Export the DataFrame to csv file Data.to_csv('Travellers',index=False) #Print the Pandas DataFrame that is exported Travellers_data=pd.read_csv('Travellers') print(Travellers_data)
Выход:
Name Location Age 0 Nick USA 24 1 Stephen UK 34 2 David Australia 42 3 Jonas USA 18 4 Giga USA 27 5 Justin Australia 52 6 James UK 21 7 Robert USA 35
Выходное изображение ниже показывает, что безымянный столбец не добавляется в кадр данных Pandas при его экспорте в файл CSV, поскольку мы установили index = False при экспорте в CSV.
После его экспорта в файл CSV
Когда мы создали DataFrame Pandas в Python и экспортировали его в файл CSV, и когда мы пытаемся прочитать экспортированный файл CSV, к существующему DataFrame добавляется столбец «Безымянный».
- Код «Travellers_data.columns.str.contains(‘^Unnamed’)» будет извлекать столбцы, имя столбца которых равно «Unnamed».
- Код «Travellers_data.loc[:, ~Travellers_data.columns.str.contains(‘^Unnamed’)]» удалит столбец «Безымянный» из существующего DataFrame Pandas и получит все остальные данные в Python.
#Import the necessary libraries import numpy as np import pandas as pd #Create Pandas DataFrame data_dict={'Name':['Nick','Stephen','David','Jonas','Giga','Justin','James','Robert'], 'Location': ['USA','UK','Australia','USA','USA','Australia','UK','USA'], 'Age':[24,34,42,18,27,52,21,35]} Data=pd.DataFrame(data_dict) #Export the DataFrame to csv file Data.to_csv('Travellers') #Print the Pandas DataFrame that is exported Travellers_data=pd.read_csv('Travellers') #drop the column that contains "Unnamed" in column name Travellers_data = Travellers_data.loc[:, ~Travellers_data.columns.str.contains('^Unnamed')] # DataFrame after dropping the Unnamed column print(Travellers_data)
Выход:
Name Location Age 0 Nick USA 24 1 Stephen UK 34 2 David Australia 42 3 Jonas USA 18 4 Giga USA 27 5 Justin Australia 52 6 James UK 21 7 Robert USA 35
На выходном изображении ниже мы видим, что в кадре данных Pandas нет безымянного столбца, поскольку мы написали (~Travellers_data.columns.str.contains(‘^Unnamed’)) в коде для удаления безымянного столбца.
С помощью метода drop()
В приведенном ниже коде мы создали DataFrame Pandas и экспортировали его в файл CSV, и когда мы пытаемся прочитать экспортированный файл CSV, к существующему DataFrame добавляется безымянный столбец.
Код «Travellers_data.drop(»Unnamed: 0″, axis=1)» удалит столбцы с именем «Unnamed» в кадре данных Pandas «Travellers_data» на Python.
#Import the necessary libraries import pandas as pd #Create Pandas DataFrame data_dict={'Name':['Nick','Stephen','David','Jonas','Giga','Justin','James','Robert'], 'Location': ['USA','UK','Australia','USA','USA','Australia','UK','USA'], 'Age':[24,34,42,18,27,52,21,35]} Data=pd.DataFrame(data_dict) #Export the DataFrame to csv file Data.to_csv('Travellers') #Print the Pandas DataFrame that is exported Travellers_data=pd.read_csv('Travellers') #drop the column that contains "Unnamed" in column name Travellers_data = Travellers_data.drop("Unnamed: 0", axis=1) # DataFrame after dropping the Unnamed column print(Travellers_data)
Выход:
Name Location Age 0 Nick USA 24 1 Stephen UK 34 2 David Australia 42 3 Jonas USA 18 4 Giga USA 27 5 Justin Australia 52 6 James UK 21 7 Robert USA 35
На выходном изображении ниже мы видим, что в кадре данных Pandas «Travellers_data» нет безымянного столбца, поскольку мы удалили его с помощью метода drop() в Python.
Зачем удалять безымянный столбец
Столбец «Безымянный» будет прикреплен к существующему DataFrame Pandas при экспорте фрейма данных в CSV.
- Столбец «Безымянный», который добавляется к DataFrame Pandas, бесполезен.
- И это просто увеличивает объем вычислений и размер набора данных.
- Память излишне тратится из-за добавления нежелательного столбца.
- Удаление этого столбца «Безымянный» помогает правильно проанализировать набор данных.
Когда удалять столбцы без имени
Столбец «Безымянный» добавляется к существующему фрейму данных Pandas при экспорте в файл CSV.
- Мы можем удалить столбец «Безымянный» DataFrame при его экспорте в CSV, т. е. передав значение False параметру индекса в Python.
- Мы можем даже удалить столбец «Безымянный» из Pandas DataFrame после его экспорта в CSV с помощью метода 2 или метода 3 [функция drop()].