How can I rename aggfunc in pivot_table?

Question:

I get DataFrame:

data = {
    'Division': ['A', 'A', 'B', 'B'],
    'Perfomer': ['X', 'Y', 'X', 'Y'],
    'Completed on time': ['Yes', 'No', 'Yes', 'No'],
    'Values': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
df_pivot = pd.pivot_table(df, values=['Values'],
                          index=['Division', 'Perfomer'],
                          columns=['Completed on time'],
                          aggfunc=[np.sum, len],
                          margins=True,
                          fill_value=0)

How can I rename aggfunc: np.sum -> ‘Sum of labor costs’; len -> ‘Number of tasks’?

Asked By: irina_ikonn

||

Answers:

Hope the following code helps.

import pandas as pd
import numpy as np

# Sample data for illustration
data = {
    'Division': ['A', 'A', 'B', 'B'],
    'Perfomer': ['X', 'Y', 'X', 'Y'],
    'Completed on time': ['Yes', 'No', 'Yes', 'No'],
    'Values': [10, 20, 30, 40]
}

df = pd.DataFrame(data)

df_pivot = pd.pivot_table(df, values=['Values'],
                          index=['Division', 'Perfomer'],
                          columns=['Completed on time'],
                          aggfunc=[np.sum, len],
                          margins=True,
                          fill_value=0)

# Rename columns
df_pivot.columns = df_pivot.columns.set_levels(['Sum of labor costs', 'Number of tasks'], level=0)
df_pivot.reset_index(inplace=True)  # Flatten the index for better visualization
print(df_pivot)
Answered By: ragas
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.