queshi_bili.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import datetime
  2. import pandas as pd
  3. def get_time_space_count(start_time: datetime.datetime, end_time: datetime.datetime, time_space=1):
  4. """
  5. 获取俩个时间之间的个数
  6. :return: 查询时间间隔
  7. """
  8. delta = end_time - start_time
  9. total_seconds = delta.days * 24 * 60 * 60 + delta.seconds
  10. return abs(int(total_seconds / time_space))
  11. df = pd.read_csv("D:\data\白玉山后评估数据资料\十分钟.csv", encoding='utf8')
  12. df['时间'] = pd.to_datetime(df['时间'])
  13. df['plus_10min'] = df['时间'] + pd.Timedelta(minutes=10)
  14. names = list(set(df['设备名称']))
  15. names.sort()
  16. count = get_time_space_count(datetime.datetime.strptime('2023-09-01 00:00:00', '%Y-%m-%d %H:%M:%S'),
  17. datetime.datetime.strptime('2024-09-01 00:00:00', '%Y-%m-%d %H:%M:%S'), 600)
  18. result_df = pd.DataFrame(df['设备名称'].value_counts())
  19. result_df.reset_index(inplace=True)
  20. result_df.columns = ['风机', '数量']
  21. result_df['总数'] = count
  22. result_df['完整度'] = result_df['数量'].apply(lambda x: round(x * 100 / count, 2))
  23. result_df.sort_values(by=['风机'], inplace=True)
  24. print(result_df)