norm.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # time: 2023/6/25 10:28
  4. # file: norm.py
  5. # author: David
  6. # company: shenyang JY
  7. import numpy as np
  8. import yaml
  9. class Normalize():
  10. def __init__(self):
  11. self.mean = {}
  12. self.std = {}
  13. def normalize(self, df):
  14. """
  15. 暂时不将C_TIME归一化
  16. :param dfs:
  17. :return:
  18. """
  19. if 'C_TIME' in df.columns:
  20. df.drop('C_TIME', axis=1, inplace=True)
  21. mean_dict = np.mean(df, axis=0) # 数据的均值
  22. std_dict = np.std(df, axis=0) # 标准差
  23. for k, v in mean_dict.to_dict().items():
  24. self.mean[k] = v
  25. for k, v in std_dict.to_dict().items():
  26. self.std[k] = v
  27. print("归一化参数,均值为:{},方差为:{}".format(self.mean, self.std))
  28. def save_yml(self, yml_dict, path):
  29. cfg = {}
  30. for k, v in yml_dict.items():
  31. cfg[k] = v
  32. with open(path, 'w') as f:
  33. yaml.safe_dump(cfg, f, default_flow_style=False)