• Автор записи:
  • Рубрика записи:Pandas
  • Время чтения:4 минут чтения
  • Комментарии к записи:0 комментариев

В этом руководстве по Python Pandas я подробно рассмотрю тему того, как удалить безымянный столбец в Pandas Python, с некоторыми примерами.

Содержание

Что такое «Безымянный» столбец

Когда мы создаем 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.

При экспорте DataFrame в файл 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’)) в коде для удаления безымянного столбца.

После экспорта в файл CSV

С помощью метода 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.

С помощью метода drop()

Зачем удалять безымянный столбец

Столбец «Безымянный» будет прикреплен к существующему DataFrame Pandas при экспорте фрейма данных в CSV.

  • Столбец «Безымянный», который добавляется к DataFrame Pandas, бесполезен.
  • И это просто увеличивает объем вычислений и размер набора данных.
  • Память излишне тратится из-за добавления нежелательного столбца.
  • Удаление этого столбца «Безымянный» помогает правильно проанализировать набор данных.

Когда удалять столбцы без имени

Столбец «Безымянный» добавляется к существующему фрейму данных Pandas при экспорте в файл CSV.

  • Мы можем удалить столбец «Безымянный» DataFrame при его экспорте в CSV, т. е. передав значение False параметру индекса в Python.
  • Мы можем даже удалить столбец «Безымянный» из Pandas DataFrame после его экспорта в CSV с помощью метода 2 или метода 3 [функция drop()].
Добавить комментарий