输出预测结果
parent
71bc236f76
commit
fcff6a72f3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,47 +1,55 @@
|
||||
import pandas as pd
|
||||
df = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江电量20231202.xlsx', sheet_name=1)
|
||||
|
||||
df = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江power1225.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)
|
||||
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-12']
|
||||
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[level], index=df_city1.index)
|
||||
future = pd.date_range(start='2023-12-26', periods=5, freq='D')
|
||||
|
||||
for date in future:
|
||||
df_moving_avg.loc[date, level] = df_moving_avg[-3:].mean().values
|
||||
resut_df = pd.concat([resut_df, df_moving_avg], axis=1)
|
||||
print(city[4:6])
|
||||
print(resut_df)
|
||||
|
||||
# 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)
|
||||
# resut_df = pd.DataFrame({'预测电量': pred_list},index=index_level)
|
||||
|
||||
with pd.ExcelWriter(r'C:\Users\鸽子\Desktop\市分压电量预测_1227.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)
|
||||
|
@ -1,42 +0,0 @@
|
||||
import pandas as pd
|
||||
|
||||
df = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江电量20231202.xlsx', sheet_name=2)
|
||||
df['stat_date'] = pd.to_datetime(df['stat_date'])
|
||||
|
||||
|
||||
# 移动平均
|
||||
city = df['city_name'].iloc[0]
|
||||
print(city)
|
||||
df_city1 = df[df['city_name'] == city].set_index('stat_date').loc['2023-11']
|
||||
|
||||
dict_big = {}
|
||||
dict_ok = {}
|
||||
resut_df = pd.DataFrame({})
|
||||
index_industry = []
|
||||
tq_list = []
|
||||
pred_list = []
|
||||
loss_list = []
|
||||
rate_list = []
|
||||
for industry in df_city1.columns[1:]:
|
||||
index_industry.append(industry)
|
||||
|
||||
df_moving_avg = pd.DataFrame(df_city1[:-3][industry], 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, industry] = df_moving_avg[-3:].mean().values
|
||||
loss = (df_city1[industry].tail(-3).sum() - df_moving_avg.tail(-3).sum()) / df_city1[industry].sum()
|
||||
tq_list.append(df_city1[industry].sum())
|
||||
pred_list.append(df_moving_avg[industry].sum())
|
||||
loss_list.append(df_city1[industry].sum()-df_moving_avg[industry].sum())
|
||||
rate_list.append((df_city1[industry].sum()-df_moving_avg[industry].sum())/df_city1[industry].sum())
|
||||
resut_df = pd.DataFrame({'同期电量':tq_list,'预测电量':pred_list,'偏差':loss_list,'偏差率':rate_list},index=index_industry)
|
||||
print(resut_df)
|
||||
resut_df.to_excel(r'C:\Users\鸽子\Desktop\移动平均_丽水_行业.xlsx')
|
||||
|
||||
# if loss.values >= 0.005:
|
||||
# dict_big[industry] = loss.values[0]
|
||||
# else:
|
||||
# dict_ok[industry] = loss.values[0]
|
||||
# print(len(dict_ok))
|
||||
# print(len(dict_big))
|
@ -0,0 +1,49 @@
|
||||
import pandas as pd
|
||||
|
||||
df = pd.read_excel(r'C:\Users\鸽子\Desktop\浙江power1225.xlsx', sheet_name=2)
|
||||
df['stat_date'] = pd.to_datetime(df['stat_date'])
|
||||
|
||||
# 移动平均
|
||||
for city in df['city_name'].drop_duplicates():
|
||||
|
||||
print(city)
|
||||
df_city = df[df['city_name'] == city].set_index('stat_date').loc['2023-12']
|
||||
|
||||
dict_big = {}
|
||||
dict_ok = {}
|
||||
resut_df = pd.DataFrame({})
|
||||
index_industry = []
|
||||
tq_list = []
|
||||
pred_list = []
|
||||
loss_list = []
|
||||
rate_list = []
|
||||
|
||||
for industry in df_city.columns[2:]:
|
||||
# index_industry.append(industry)
|
||||
df_moving_avg = pd.DataFrame(df_city[industry], index=df_city.index)
|
||||
future = pd.date_range(start='2023-12-26', periods=5, freq='D')
|
||||
|
||||
for date in future:
|
||||
df_moving_avg.loc[date, industry] = df_moving_avg[-3:].mean().values
|
||||
resut_df = pd.concat([resut_df, df_moving_avg], axis=1)
|
||||
print(city[4:6])
|
||||
print(resut_df)
|
||||
# loss = (df_city1[industry].tail(-3).sum() - df_moving_avg.tail(-3).sum()) / df_city1[industry].sum()
|
||||
# tq_list.append(df_city1[industry].sum())
|
||||
# pred_list.append(df_moving_avg[industry].sum())
|
||||
# loss_list.append(df_city1[industry].sum()-df_moving_avg[industry].sum())
|
||||
# rate_list.append((df_city1[industry].sum()-df_moving_avg[industry].sum())/df_city1[industry].sum())
|
||||
with pd.ExcelWriter(r'C:\Users\鸽子\Desktop\行业电量预测_1227.xlsx', mode='a', if_sheet_exists='replace',
|
||||
engine='openpyxl') as writer:
|
||||
resut_df.to_excel(writer, sheet_name=f'{city[4:6]}')
|
||||
|
||||
# resut_df = pd.DataFrame({'同期电量':tq_list,'预测电量':pred_list,'偏差':loss_list,'偏差率':rate_list},index=index_industry)
|
||||
# print(resut_df)
|
||||
# resut_df.to_excel(r'C:\Users\鸽子\Desktop\移动平均_丽水_行业.xlsx')
|
||||
|
||||
# if loss.values >= 0.005:
|
||||
# dict_big[industry] = loss.values[0]
|
||||
# else:
|
||||
# dict_ok[industry] = loss.values[0]
|
||||
# print(len(dict_ok))
|
||||
# print(len(dict_big))
|
Loading…
Reference in New Issue