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

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