Я хочу получить список имен столбцов из pandas pivot table. Когда я печатаю столбцы таблицы, я не получаю первый столбец (как в приведенном ниже результате). Как я могу получить список всех столбцов?

import pandas as pd
import numpy as np

df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo",
                         "bar", "bar", "bar", "bar"],
                   "B": ["one", "one", "one", "two", "two",
                         "one", "one", "two", "two"],
                   "C": ["small", "large", "large", "small",
                         "small", "large", "small", "small",
                         "large"],
                   "D": [1, 2, 2, 3, 3, 4, 5, 6, 7],
                   "E": [2, 4, 5, 5, 6, 6, 8, 9, 9]})

df_table = pd.pivot_table(df,index=['A'], values='D', columns=['C'], aggfunc=np.sum)
print(df_table)
print(list(df_table.columns))

результат:

C    large  small
A                
bar     11     11
foo      4      7

['large', 'small']

Ответы (1)

Я думаю, что вам не хватает reset_index()

df_table = pd.pivot_table(df,index=['A'], values='D', columns=['C'], aggfunc=np.sum).reset_index()
print(df_table)
print(list(df_table.columns))

вывод:

print(list(df_table.columns))
['A', 'large', 'small']

2022 WebDevInsider