matchms.filtering.filter_utils.metadata_conversions module

matchms.filtering.filter_utils.metadata_conversions.apply_metadata_row_filter(metadata: DataFrame, row_filter, *args, drop_missing_row_updates: bool = True, **kwargs) DataFrame[source]

Apply a row-wise metadata filter and return updated columns.

row_filter receives one metadata row as a mapping and must return a dict with metadata updates.

Returning an empty dict means “no update”. Returning {“key”: None} means “explicitly set key to None”.

Parameters:
  • metadata – Metadata table subset.

  • row_filter – Function applied to each metadata row.

  • drop_missing_row_updates – If True, missing values returned by row_filter are treated as “no update” and removed from the returned update table. If False, missing values are kept as explicit updates.

matchms.filtering.filter_utils.metadata_conversions.apply_metadata_updates_to_spectrum(spectrum, updates: Mapping)[source]

Apply metadata updates to a Spectrum.

matchms.filtering.filter_utils.metadata_conversions.as_float_or_none(value)[source]

Return a safe scalar float-or-None value for metadata calculations.

matchms.filtering.filter_utils.metadata_conversions.as_string_or_none(value)[source]

Return a safe scalar string-or-None value for metadata validators.

matchms.filtering.filter_utils.metadata_conversions.is_missing_metadata_value(value) bool[source]

Return True for scalar missing metadata values.