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