code: def weighted_mean_daily_returns(
      data: pd.DataFrame, weights: ARRAY_OR_SERIES[FLOAT]
  ) -> np.ndarray[FLOAT, Any]:
      """Returns DataFrame with the daily weighted mean returns
  
      :param data: A dataframe of daily stock prices
  
      :param weights: An array representing weights
      :type weights: :py:data:`~.finquant.data_types.ARRAY_OR_SERIES`
  
      :return: An array of weighted mean daily percentage change of Returns
      """
      # Type validations:
      type_validation(data=data, weights=weights)
      res: np.ndarray[FLOAT, Any] = np.dot(daily_returns(data), weights)
      return res
  
file_path: FinQuant/finquant/returns.py
imports: from typing import Any
  import numpy
  import pandas
  from finquant.data_types import ARRAY_OR_SERIES, FLOAT, INT, NUMERIC, SERIES_OR_DATAFRAME
  from finquant.type_utilities import type_validation
label_desc: Use image node_id 3 for calling a global function with example usage: weighted_mean_daily_returns(data, weights) and returns: res