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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *