The Polars
equivalent for pivot_longer
from dplyR
is melt
.
dplyrR example (R)
suppressPackageStartupMessages(
library('tidyverse')
)
otter_data = read_csv(
'https://raw.githubusercontent.com/jcoliver/learn-r/gh-pages/data/otter-mandible-data.csv',
col_types = cols()
)
otter_data |>
pivot_longer(cols = matches('m\\d')) |>
head() |>
gt::gt()
A. cinerea |
AMNH |
101458 |
m1 |
15.100 |
A. cinerea |
AMNH |
101458 |
m2 |
27.790 |
A. cinerea |
AMNH |
101458 |
m3 |
21.885 |
A. cinerea |
AMNH |
101458 |
m4 |
13.010 |
A. cinerea |
AMNH |
101458 |
m5 |
10.500 |
A. cinerea |
AMNH |
101458 |
m6 |
61.635 |
Polars example (Python)
import polars as pl
from great_tables import GT
(
pl.read_csv(
'https://raw.githubusercontent.com/jcoliver/learn-r/gh-pages/data/otter-mandible-data.csv',
null_values='NA'
)
.melt(id_vars=['species', 'museum', 'accession'])
.head()
.pipe(lambda df_: GT(df_))
)
A. cinerea |
AMNH |
101458 |
m1 |
15.1 |
A. cinerea |
AMNH |
101461 |
m1 |
12.74 |
A. cinerea |
AMNH |
101466 |
m1 |
12.425 |
A. cinerea |
AMNH |
101635 |
m1 |
13.4 |
A. cinerea |
AMNH |
101459 |
m1 |
14.4 |