Pandas: как изменить имена столбцов в сводной таблице
Часто вам может потребоваться определенным образом изменить или отформатировать имена столбцов в сводной таблице pandas.
К счастью, это легко сделать, используя встроенные функции pandas.
В следующем примере показано, как это сделать.
Пример: изменить имена столбцов в сводной таблице Pandas
Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'C', 'G', 'C', 'F', 'F'], ' points ': [4, 4, 6, 8, 9, 5, 5, 12]}) #view DataFrame print (df) team position points 0 A G 4 1 A G 4 2 A F 6 3 A C 8 4 B G 9 5 B C 5 6 B F 5 7 B F 12
Мы можем использовать следующий код для создания сводной таблицы в pandas, которая показывает среднее значение баллов для каждой команды и позиции в DataFrame:
#create pivot table
piv = pd. pivot_table (df, values=' points ', index=' team ', columns=' position ')
#view pivot table
print (piv)
CFG position
team
A 8.0 6.0 4.0
B 5.0 8.5 9.0
Теперь предположим, что мы хотим удалить позицию слова в сводной таблице и удалить лишнюю строку команды из сводной таблицы.
Для этого мы можем использовать следующий синтаксис:
#format column names
iv. columns = ['_'. join (str(s). strip () for s in col if s) for col in piv. columns ]
#reset indexes
iv. reset_index (inplace= True )
#view updated pivot table
print (piv)
team CFG
0 A 8.0 6.0 4.0
1 B 5.0 8.5 9.0
Обратите внимание, что нам удалось удалить позицию слова в сводной таблице и удалить лишнюю строку команды из сводной таблицы.
Также обратите внимание, что это общее решение также будет работать для сводной таблицы с MultiIndex.
Примечание . Полную документацию по функции pandas Pivot_table() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Pandas: как создать сводную таблицу с количеством значений
Pandas: как заменить значения NaN в сводной таблице нулями
Pandas: как преобразовать сводную таблицу в DataFrame