Переименование столбцов в pandas DataFrames

Вступление

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

В этой короткой статье мы рассмотрим несколько вариантов, которые у нас есть, когда дело доходит до переименования столбцов фреймов данных pandas. В частности, мы увидим, как переименовать столбцы:

  • используя метод rename()
  • путем обновления атрибута DataFrame.columns
  • и используя метод set_axis()

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

import pandas as pd
df = pd.DataFrame({
    'colA':[1, 2, 3], 
    'colB': ['a', 'b', 'c'],
})
print(df)
#    colA colB
# 0     1    a
# 1     2    b
# 2     3    c

Использование .rename ()

pandas.DataFrame.rename() можно использовать для изменения имени столбца или индекса.

Изменить метки осей.

Значения функции / dict должны быть уникальными (1 к 1). Ярлыки, не содержащиеся в dict / Series, будут оставлены как есть.

Чтобы переименовать столбцы с помощью метода rename(), нам необходимо предоставить сопоставление (т.е. словарь), где ключи - это старые имена столбцов, а значения - новые. Кроме того, мы должны указать axis=1, чтобы обозначить, что мы хотим переименовать столбцы, а не индекс:

df = df.rename({'colA': 'A', 'colB': 'B'}, axis=1)
print(df)
#    A  B
# 0  1  a
# 1  2  b
# 2  3  c

Обновление атрибута df.columns

pandas DataFrames поставляется с атрибутом pandas.DataFrames.columns, который является Index c , содержащим метки столбцов DataFrame.

Мы можем переименовать столбцы DataFrame, переназначив этот конкретный атрибут, как показано ниже:

df.columns = ['column_A', 'column_B']
print(df)
#    column_A column_B
# 0         1        a
# 1         2        b
# 2         3        c

Использование set_axis ()

Метод pandas.DataFrame.set_axis() может использоваться для присвоения желаемого индекса либо оси столбца, либо оси индекса. Чтобы переименовать имена столбцов, обязательно укажите axis=1, как показано ниже:

df = df.set_axis(['AA', 'BB'], axis=1, inplace=False)
print(df)
#    AA BB
# 0   1  a
# 1   2  b
# 2   3  c

Обратите внимание, что во всех примерах, рассмотренных ранее, вы даже можете использовать axis='columns' вместо axis=1, чтобы обозначить, что операция должна быть эффективной на уровне столбца. Например,

df = df.rename({'colA': 'A', 'colB': 'B'}, axis='columns')
df = df.set_axis(['AA', 'BB'], axis='columns')

Последние мысли

В сегодняшнем кратком руководстве мы обсудили, как переименовать столбцы pandas DataFrames несколькими способами.

Вам также может быть интересно понять, как изменить типы данных определенных столбцов pandas DataFrames.



Кроме того, в статье ниже обсуждается, как правильно выбрать строку в зависимости от конкретных условий.