Pandas rename() не работает со столбцами MultiIndex с кортежамиPython

Программы на Python
Ответить
Anonymous
 Pandas rename() не работает со столбцами MultiIndex с кортежами

Сообщение Anonymous »

Я работаю с DataFrame pandas, который имеет MultiIndex (два уровня) для столбцов. Я пытаюсь переименовать определенные столбцы, используя словарь кортежей, но имена столбцов остаются неизменными.
import pandas as pd

cols = pd.MultiIndex.from_tuples([
('Group_A', 'Metric_1'),
('Group_A', 'Metric_2'),
('Group_B', 'Metric_1'),
('Group_B', 'Metric_2')
])

df_test = pd.DataFrame([
[10, 20, 30, 40],
[50, 60, 70, 80]
], columns=cols)

test_map = {
('Group_A', 'Metric_1'): ('Group_A', 'Current_1'),
('Group_A', 'Metric_2'): ('Group_A', 'Current_2'),
('Group_B', 'Metric_1'): ('Group_B', 'Current_1')
}

print("--- Original Columns ---")
print(df_test.columns.tolist())

df_renamed = df_test.rename(columns =test_map)
print("--- Check Results ---")
print(df_renamed.columns.tolist())

Результат:
--- Original Columns ---
[('Group_A', 'Metric_1'), ('Group_A', 'Metric_2'), ('Group_B', 'Metric_1'), ('Group_B', 'Metric_2')]
--- Check Results ---
[('Group_A', 'Metric_1'), ('Group_A', 'Metric_2'), ('Group_B', 'Metric_1'), ('Group_B', 'Metric_2')]

Мои настройки:
Python version: 3.11.7 (tags/v3.11.7:fa7a6f2, Dec 4 2023, 19:24:49) [MSC v.1937 64 bit (AMD64)]
Pandas version: 2.2.0


Подробнее здесь: https://stackoverflow.com/questions/798 ... ith-tuples
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»