You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.0 KiB
Python
47 lines
2.0 KiB
Python
11 months ago
|
import pandas as pd
|
||
|
df = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江电量20231202.xlsx', sheet_name=1)
|
||
|
df['pt_date'] = pd.to_datetime(df['pt_date'])
|
||
|
|
||
|
# 移动平均
|
||
|
|
||
|
dict_big = {}
|
||
|
dict_ok = {}
|
||
|
|
||
|
# for city in df['city_name'].drop_duplicates():
|
||
|
#
|
||
|
# df_city1 = df[(df['city_name'] == city) & (df['county_name'].isnull())].set_index('pt_date').loc['2023-11']
|
||
|
# resut_df = pd.DataFrame({})
|
||
|
# index_level = []
|
||
|
# tq_list = []
|
||
|
# pred_list = []
|
||
|
# loss_list = []
|
||
|
# rate_list = []
|
||
|
# for level in df_city1.columns[2:]:
|
||
|
#
|
||
|
# index_level.append(level)
|
||
|
#
|
||
|
# df_moving_avg = pd.DataFrame(df_city1[:-3][level], index=df_city1[:-3].index)
|
||
|
# future = pd.date_range(start=df_city1.index[-3], periods=3, freq='D')
|
||
|
#
|
||
|
# for date in future:
|
||
|
# df_moving_avg.loc[date, level] = df_moving_avg[-3:].mean().values
|
||
|
# loss = (df_city1[level].tail(-3).sum() - df_moving_avg.tail(-3).sum()) / df_city1[level].sum()
|
||
|
# tq_list.append(df_city1[level].sum())
|
||
|
# pred_list.append(df_moving_avg[level].sum())
|
||
|
# loss_list.append(df_city1[level].sum()-df_moving_avg[level].sum())
|
||
|
# rate_list.append((df_city1[level].sum()-df_moving_avg[level].sum())/df_city1[level].sum())
|
||
|
# resut_df = pd.DataFrame({'同期电量':tq_list,'预测电量':pred_list,'偏差':loss_list,'偏差率':rate_list},index=index_level)
|
||
|
# with pd.ExcelWriter(r'C:\Users\鸽子\Desktop\11月移动平均分压.xlsx',mode='a',if_sheet_exists='replace',engine='openpyxl') as writer:
|
||
|
# resut_df.to_excel(writer,sheet_name=f'{city[4:6]}')
|
||
|
|
||
|
excel_file = pd.ExcelFile(r'C:\Users\鸽子\Desktop\11月移动平均分压.xlsx')
|
||
|
df1 = pd.read_excel(excel_file,sheet_name=1)
|
||
|
df1.set_index(df1.columns[0],inplace=True)
|
||
|
for sheet in excel_file.sheet_names[2:]:
|
||
|
df = pd.read_excel(excel_file,sheet_name=sheet)
|
||
|
df.set_index(df.columns[0],inplace=True)
|
||
|
df1 += df
|
||
|
df1['偏差'] = df1['同期电量']-df1['预测电量']
|
||
|
df1['偏差率'] = df1['偏差']/df1['同期电量']
|
||
|
df1.to_excel('移动平均_11月分压汇总.xlsx')
|
||
|
print(df1)
|