Как переименовать столбец Pandas DataFrame в Python

Введение Pandas [https://pandas.pydata.org/] - это библиотека Python для анализа и обработки данных. Почти все операции в пандах вращаются вокруг DataFrames. Dataframe - это абстрактное представление двумерной таблицы, которая может содержать все виды данных. Они также позволяют нам давать имена всем столбцам, поэтому часто столбцы называются атрибутами или полями при использовании DataFrames. В этой статье мы увидим, как мы можем переименовать уже существующий столбец DataFrame.

Вступление

Pandas - это библиотека Python для анализа и обработки данных. Почти все операции в pandas вращаются вокруг DataFrame s.

Dataframe - это абстрактное представление двумерной таблицы, которая может содержать все виды данных. Они также позволяют нам давать имена всем столбцам, поэтому часто столбцы называются атрибутами или полями при использовании DataFrames .

В этой статье мы увидим, как мы можем переименовать уже существующие DataFrame .

Есть два варианта управления именами столбцов DataFrame :

  1. Переименование столбцов существующего DataFrame
  2. Назначение имен пользовательских столбцов при создании нового DataFrame

Давайте посмотрим на оба метода.

Переименование столбцов существующего фрейма данных

У нас есть образец DataFrame ниже:

1
2
3
4
     import pandas as pd 
     data = {'Name':['John', 'Doe', 'Paul'], 
     'age':[22, 31, 15]} 
     df = pd.DataFrame(data) 

DataFrame df выглядит так:

оригинальный фрейм данныхpandas

Чтобы переименовать столбцы этого DataFrame , мы можем использовать метод rename() который принимает:

  1. Словарь в качестве columns содержащий сопоставление исходных имен столбцов с именами новых столбцов в виде пар ключ-значение
  2. boolean значение в качестве inplace , которое, если установлено в True , внесет изменения в исходный Dataframe

Давайте изменим имена столбцов в нашем DataFrame с Name, age на First Name, Age .

1
     df.rename(columns = {'Name' : 'First Name', 'age' : 'Age'}, inplace = True) 

Теперь наш df содержит:

столбец переименования фрейма данныхpandas

Назначьте имена столбцов при создании фрейма данных

Теперь мы обсудим, как назначать имена столбцам при создании DataFrame .

Это особенно полезно, когда вы создаете DataFrame из csv и хотите игнорировать имена столбцов заголовков и назначить свои собственные.

Передав список names , мы можем заменить уже существующий столбец заголовка нашим собственным. В списке должно быть имя для каждого столбца данных, в противном случае создается исключение.

Обратите внимание: если мы хотим переименовать только несколько столбцов, лучше использовать метод rename DataFrame после его создания.

Мы будем создавать DataFrame используя out.csv , который имеет следующее содержимое:

1
2
3
4
     Name, age 
     John, 22 
     Doe, 31 
     Paul, 15 

Обратите внимание, что первая строка в файле является строкой заголовка и содержит имена столбцов. Pandas по умолчанию назначает имена столбцов DataFrame из первой строки.

Следовательно, мы укажем игнорировать строку заголовка при создании нашего DataFrame и укажем имена столбцов в списке, который передается в аргумент names

1
2
3
     columns = ['First Name', 'Age'] 
     df = pd.read_csv('out.csv', header = None, names = columns) 
     df 

Это приводит к:

новый фрейм данных изменил именастолбцов

Другой способ сделать это - указать имена столбцов в простом старом конструкторе DataFrame() .

Единственное отличие состоит в том, что теперь параметр, который принимает список имен column называется столбцом вместо names :

1
2
3
4
5
6
     import numpy as np 
     
     new_columns = ['First Name', 'Age'] 
     data = np.array([["Nicholas", 23],["Scott", 32],["David", 25]]) 
     
     df = pd.DataFrame(data, columns = new_columns) 

Это приводит к другому DataFrame :

конструктор dataframe переименоватьстолбец

Заключение

В этой статье мы быстро рассмотрели, как мы можем называть и переименовывать столбцы в DataFrame . Либо путем присвоения имен при DataFrame экземпляра DataFrame, либо путем переименования их после факта с помощью метода rename()

comments powered by Disqus