Skip to content

DataFrames

Converts a ParsedMatch into a dictionary of pandas DataFrames, one per table. This is the primary interface for ML/data-science workflows.

Parquet dependency

to_parquet() requires pyarrow (recommended) or fastparquet:

bash
pip install pyarrow

Available tables

KeyContents
"players"Per-player snapshots at each sample tick
"players_minute"Per-player stats aggregated by game minute
"positions"Hero position heatmap grid (64-unit cells)
"combat_log"Every damage, kill, heal, and modifier event
"wards"Ward placements with exact map coordinates
"objectives"Tower kills, barracks, Roshan kills
"teamfights"Detected fight windows with participant stats
"smoke_events"Smoke activations with grouped heroes and centroid
"aegis_events"Aegis pickups, steals, and denies
"draft"Pick and ban events in order
"match"Single-row match metadata (id, duration, winner, …)
"radiant_advantage"Per-minute gold and XP advantage curves
"chat"All-chat and team-chat messages
"courier_snapshots"Courier state sampled each tick

Generated API

Module gem.dataframes

DataFrame conversion for :class:ParsedMatch output.

Source: src/gem/dataframes.py

Top-level functions

build_dataframes

python
def build_dataframes(match: ParsedMatch) -> dict[str, pd.DataFrame]

Convert a :class:ParsedMatch into a dict of pandas DataFrames.

Source: src/gem/dataframes.py:17