src.processing.transformer

Data transformation and normalization.

Module Contents

class src.processing.transformer.DataTransformer[source]

Transform raw API data into structured DataFrames.

transform_interest_data(api_response: Dict[str, Any], query_labels: Dict[str, str]) pandas.DataFrame[source]

Transform Google Trends interest_over_time data into DataFrame.

Parameters:
  • api_response – Raw API response

  • query_labels – Mapping of queries to display labels

Returns:

date, query, value

Return type:

DataFrame with columns

Raises:

TransformError – If transformation fails

add_moving_average(df: pandas.DataFrame, window: int = 3, column: str = 'value') pandas.DataFrame[source]

Add moving average column to DataFrame.

Parameters:
  • df – Input DataFrame

  • window – Window size for moving average

  • column – Column to smooth

Returns:

DataFrame with added value_ma column

normalize_to_100(df: pandas.DataFrame, column: str = 'value') pandas.DataFrame[source]

Normalize values to 0-100 scale.

Parameters:
  • df – Input DataFrame

  • column – Column to normalize

Returns:

DataFrame with normalized column