metric_entity.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/11/1
  5. @desc: 常用指标实体集合
  6. """
  7. from typing import Union
  8. import pandas as pd
  9. class MetricFucResultEntity():
  10. """
  11. 指标计算函数结果类
  12. """
  13. def __init__(self, table: pd.DataFrame = None, value: str = None, image_path: Union[str, list] = None,
  14. table_font_size=12, table_autofit=False, table_cell_width=None, image_size: int = 6):
  15. self._table = table
  16. self._table_font_size = table_font_size
  17. self._table_cell_width = table_cell_width
  18. self._table_autofit = table_autofit
  19. self._value = value
  20. self._image_path = image_path
  21. self._image_size = image_size
  22. @property
  23. def table_cell_width(self):
  24. return self._table_cell_width
  25. @property
  26. def table_autofit(self):
  27. return self._table_autofit
  28. @property
  29. def table_font_size(self):
  30. return self._table_font_size
  31. @property
  32. def table(self) -> pd.DataFrame:
  33. return self._table
  34. @property
  35. def value(self):
  36. return self._value
  37. @property
  38. def image_path(self):
  39. return self._image_path
  40. @property
  41. def image_size(self):
  42. return self._image_size
  43. class MetricConfigEntity():
  44. def __init__(self, metric_code: str, metric_func: str, *args, **kwargs):
  45. self._args = args
  46. self._kwargs = kwargs
  47. # metric_code 用于填充模板时查找
  48. self._metric_code = metric_code
  49. # metric_func 用于查找对应的指标计算函数
  50. self._metric_func = metric_func
  51. @property
  52. def args(self):
  53. return self._args
  54. @property
  55. def kwargs(self):
  56. return self._kwargs
  57. @property
  58. def metric_code(self):
  59. return self._metric_code
  60. @property
  61. def metric_func(self):
  62. return self._metric_func
  63. if __name__ == "__main__":
  64. pass