[Python] pandas pivot table rename columns

Discussão em 'Python' iniciado por Stack, Abril 7, 2025.

  1. Stack

    Stack Membro Participativo

    How to rename columns with multiple levels after pandas pivot operation?

    Here's some code to generate test data:

    import pandas as pd
    df = pd.DataFrame({
    'c0': ['A','A','B','C'],
    'c01': ['A','A1','B','C'],
    'c02': ['b','b','d','c'],
    'v1': [1, 3,4,5],
    'v2': [1, 3,4,5]})

    print(df)


    gives a test dataframe:

    c0 c01 c02 v1 v2
    0 A A b 1 1
    1 A A1 b 3 3
    2 B B d 4 4
    3 C C c 5 5


    applying pivot

    df2 = pd.pivot_table(df, index=["c0"], columns=["c01","c02"], values=["v1","v2"])
    df2 = df2.reset_index()


    gives

    [​IMG]

    how to rename the columns by joining levels? with format <c01 value>_<c02 value>_<v1>

    for example first column should look like "A_b_v1"

    The order of joining levels isn't really important to me.

    Continue reading...

Compartilhe esta Página