z_power.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :z_power.py
  4. # @Time :2024/12/30 14:16
  5. # @Author :David
  6. # @Company: shenyang JY
  7. import os
  8. import pandas as pd
  9. c_names = ['G01', 'G02', 'G03', 'G04', 'G05', 'G06', 'G07', 'G08', 'G09', 'G10'] + ['G' + str(x) for x in range(11, 76)]
  10. turbineloc = [x for x in range(76, 151, 1)]
  11. id_names = {id: c_names[x] for x, id in enumerate(turbineloc)}
  12. import pickle
  13. with open('../../cluster/260/turbine_cls.pickle', 'rb') as f:
  14. turbine_cls = pickle.load(f)
  15. def zone_powers(input_dir):
  16. z_power = {}
  17. for zone, turbines in turbine_cls.items():
  18. dfs = [pd.read_csv(os.path.join(input_dir, f"turbine-{z}.csv")) for z in turbineloc if z in turbines]
  19. z_power['C_TIME'] = dfs[0]['C_TIME']
  20. sum_power = pd.concat([df['C_ACTIVE_POWER'] for df in dfs], ignore_index=True, axis=1).sum(axis=1)
  21. z_power[zone] = sum_power/1000
  22. z_power = pd.DataFrame(z_power)
  23. z_power.iloc[:, 1:] = z_power.iloc[:, 1:].round(2)
  24. z_power.to_csv("./turbines-time/z-power-new.csv", index=False)
  25. if __name__ == "__main__":
  26. import pandas as pd
  27. zone_powers("../../cluster/260/")