Repository URL to install this package:
|
Version:
4.0.1 ▾
|
from typing import Optional, Tuple
import numpy as np
import pandas as pd
from sarus_statistics.ops.exp_quantile.local import get_quantile
def median(
data: pd.DataFrame,
data_col: str,
user_col: str,
private_col: str,
weight_col: str,
noise: float,
max_multiplicity: float,
bounds: Tuple[float, float],
random_generator: Optional[np.random.Generator] = None,
) -> float:
"""Compute DP median of column according to max_multiplicity of user"""
data[data_col] = np.clip(
data[data_col],
a_min=min(bounds[0], bounds[1]),
a_max=max(bounds[0], bounds[1]),
)
median = get_quantile(
data,
data_col,
user_col,
private_col,
weight_col,
1,
noise,
0.5,
True,
bounds,
max_multiplicity=max_multiplicity,
random_generator=random_generator,
)
return median