bsfit.nodes.cirpy.utils.get_circ_weighted_mean_std

bsfit.nodes.cirpy.utils.get_circ_weighted_mean_std(angle: numpy.ndarray, proba: numpy.ndarray, type: str) dict[source]

calculate circular data statistics

Parameters
  • angle (np.ndarray) – angles in degree or cartesian coordinates

  • proba (np.ndarray) – each angle’s probability of occurrence

  • type (str) – “polar” or “cartesian”

Usage:
import numpy as np
from bsfit.nodes.cirpy.utils import get_circ_weighted_mean_std
degree = np.array([358, 0, 2, 88, 90, 92])
proba = np.array([1, 1, 1, 1, 1, 1])/6
output = get_circ_weighted_mean_std(degree, proba, "polar")
output.keys()

# Out: dict_keys(['coord_all', 'deg_all', 'coord_mean', 'deg_mean',
#               'deg_all_for_std', 'deg_mean_for_std', 'deg_var',
#               'deg_std', 'deg_sem'])

output["deg_mean"]

# Out: array([45.])

output["deg_std"]

# array([45.02961988])
Returns

angle summary statistics (mean, std, var, sem)

Return type

(dict)

Raises

ValueError – type is not “polar” or “cartesian”