cuperiod.MultiBandLightCurve¶
- class cuperiod.MultiBandLightCurve(bands, meta=<factory>)[source]¶
Bases:
objectSeveral bands (filters) of the same star, for the multi-band methods.
- Parameters:
bands (
Mapping[str,LightCurve]) – Band name → light curve. Order is preserved (insertion order).meta (
Mapping, optional) – Free-form metadata (e.g. object id) carried through results.
- property band_names: tuple[str, ...]¶
The band labels, in order.
- property n_bands: int¶
Number of bands.
- classmethod from_light_curves(bands, *, meta=None)[source]¶
Build from an explicit
{band: LightCurve}mapping.- Parameters:
bands (Mapping[str, LightCurve])
meta (Mapping[str, Any] | None)
- Return type:
- classmethod from_dataframe(df, *, band_column=None, columns=None, domain=None, meta=None)[source]¶
Build from one long-format
DataFramesplit on a band column.- Parameters:
df (
pandas.DataFrame) – Long-format table with a band/filter column and shared time/value/error columns.band_column (
str, optional) – Band column name; auto-detected fromBAND_NAMESifNone.columns (ColumnMap | None) – As for
LightCurve.from_dataframe().domain (Domain | None) – As for
LightCurve.from_dataframe().meta (Mapping[str, Any] | None) – As for
LightCurve.from_dataframe().
- Return type:
- stacked()[source]¶
Concatenate all bands into time-sorted
(time, value, error, band)arrays.- Returns:
time, value (
numpy.ndarray) – Concatenated, ascending in time.error (
numpy.ndarrayorNone) – Concatenated errors, orNoneif any band lacks errors.band (
numpy.ndarray) – Per-point band label (object dtype), aligned with the sorted arrays.
- Return type:
tuple[NDArray[float64], NDArray[float64], NDArray[float64] | None, ndarray]