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)