Reshape
Wide-to-long reshaping helpers.
Reshape helpers for the wide-format DataFrame returned by get_all_features.
- to_long_format(df, *, join_metadata=True, metadata=None)[source]
Reshape a wide-format feature DataFrame into tidy long format.
- Parameters:
df (pd.DataFrame) – A wide-format DataFrame as returned by get_all_features, with melody_num/melody_id identifier columns and one {family}.{feature} column per feature.
join_metadata (bool, optional) – If True (default), left-join feature metadata (family, source, domain, type, description, notes, references) onto the long DataFrame by feature_name. Any feature_name without an exact metadata match (chiefly dynamic IDyOM columns) falls back to a family/source inferred from the column prefix rather than being left blank.
metadata (pd.DataFrame, optional) – A metadata table to join instead of the default
melody_features.get_feature_metadata()table (for example, a filtered or user-extended version). Must contain a feature_name column plus any of the columns in family, source, domain, type, description, notes, references.
- Returns:
Columns: melody_num, melody_id, feature_name, value, and (when join_metadata=True) family, source, domain, type, description, notes, references.
- Return type:
pd.DataFrame