Gridmeter

raw JSON →
1.1.0 verified Fri May 01 auth: no python

Tools for stratified sampling for comparison groups, used to evaluate energy efficiency programs. Current version: 1.1.0. Release cadence is irregular.

pip install gridmeter
error AttributeError: module 'gridmeter' has no attribute 'StratifiedSample'
cause Trying to import StratifiedSample directly from the package top-level incorrectly due to submodule structure.
fix
Use: from gridmeter import StratifiedSample
error TypeError: __init__() missing 1 required positional argument: 'strata_column'
cause After upgrade to 1.1.0, strata_column is a required argument.
fix
Add strata_column='your_column_name' when instantiating StratifiedSample.
gotcha Data input format: source and target must be lists of dicts with the strata_column key. Pandas DataFrames are not directly supported without conversion.
fix Convert DataFrames to list of dicts using df.to_dict('records') before passing.
deprecated The `StratifiedSample` class constructor signature changed in 1.1.0: `strata_column` is now required instead of optional.
fix Always specify `strata_column` parameter when creating StratifiedSample.

Draw a stratified sample from source to match target distribution.

import json
from gridmeter import StratifiedSample

with open('source.json') as f:
    source = json.load(f)
with open('target.json') as f:
    target = json.load(f)

sample = StratifiedSample(source, target, strata_column='group')
sample_result = sample.draw()
print(sample_result)