Pxwebpy
Get data from the PxWeb API into a dataframe
Install / Use
/learn @stefur/PxwebpyREADME
pxwebpy
Client library for the PxWeb API to easily load data into a DataFrame.
Get started | Examples | Reference
Features
- Automatic query batching to handle large queries to respect rate limits
- Multithreading for faster data fetching on large queries
- In-memory caching for quicker iterative use and exploration
- Wildcard support in queries
- BYODF (Bring Your Own DataFrame): native return formats for use with
pandasorpolars - Search for tables, browse and list tables, get metadata, and more
It has been tested with Statistics Sweden and Statistics Norway.
[!NOTE]
pxwebpy only supports version 2.0 of the PxWeb API.
Quick start
from pxweb import PxApi
import polars as pl
# Prepare to get data from the Statistics Norway API by using the builtin URL
api = PxApi("ssb")
# Set the language to english
api.language = "en"
# Check the population per year in Norway during the 1990's
data = api.get_table_data(
"06913",
value_codes={"Region": "0", "ContentsCode": "Folkemengde", "Tid": "199*"},
)
# Turn it into a polars dataframe
df = pl.DataFrame(data)
# A quick look at the result
print(df)
shape: (10, 4)
┌─────────────────────┬──────────────────────┬──────┬─────────┐
│ region ┆ contents ┆ year ┆ value │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ i64 │
╞═════════════════════╪══════════════════════╪══════╪═════════╡
│ 0 The whole country ┆ Population 1 January ┆ 1990 ┆ 4233116 │
│ 0 The whole country ┆ Population 1 January ┆ 1991 ┆ 4249830 │
│ 0 The whole country ┆ Population 1 January ┆ 1992 ┆ 4273634 │
│ 0 The whole country ┆ Population 1 January ┆ 1993 ┆ 4299167 │
│ 0 The whole country ┆ Population 1 January ┆ 1994 ┆ 4324815 │
│ 0 The whole country ┆ Population 1 January ┆ 1995 ┆ 4348410 │
│ 0 The whole country ┆ Population 1 January ┆ 1996 ┆ 4369957 │
│ 0 The whole country ┆ Population 1 January ┆ 1997 ┆ 4392714 │
│ 0 The whole country ┆ Population 1 January ┆ 1998 ┆ 4417599 │
│ 0 The whole country ┆ Population 1 January ┆ 1999 ┆ 4445329 │
└─────────────────────┴──────────────────────┴──────┴─────────┘
