typestar

Melting back to long in Python

melt is the inverse of a pivot: wide columns become key-value rows.

import pandas as pd

wide = pd.DataFrame({
    "day": ["mon", "tue"],
    "python": [104, 91],
    "rust": [98, 88],
})

long = wide.melt(id_vars="day", var_name="lang", value_name="tpm")
print(long)
print(long.groupby("lang")["tpm"].mean())

How it works

  1. id_vars stays put; everything else is unstacked.
  2. var_name and value_name name the two new columns.
  3. Long data is what plotting and groupby want.

Keywords and builtins used here

The run, in numbers

Lines
11
Characters to type
229
Tokens
95
Three-star pace
110 tpm

At the three-star pace of 110 tokens a minute, this run takes about 52 seconds.

Type this snippet

Step 4 of 4 in Reshaping & joining, step 22 of 26 in pandas.

← Previous Next →