要求是从excel读取3列数据,第一列是日期,有年月日时分秒,第二列是实际功率,第三列是预测功率,要求先将每日时间分为大发时段10点到16点,高峰时段6点到9点和17点到22点和普通时段0点到6点,9点到10点,16点到17点,22点到24点3种时段,对于实际功率小于10且预测功率小于的数据进行删除,计算实际功率与预测功率的差值除以预测功率得到的值为A,计算实际功率与预测功率的差值的绝对值再除以4得到的值为ec,然后在大发时段如果A大于0.25,那么ec乘以0.4得到一个新值ec_a, 在大发时段如果A小于-0.25,那么elc乘以0.2得到一个新值ec_b,,在大发时段,如果在-0.25和0.25之间,那么ec乘以0得到一个新值ec_c,在高峰时段如果A小于-0.25,那么ec乘以0.4得到一个新值ec_d,在高峰时段如果A大于0.25,那么ec乘以0.2得到一个新值ec_e,在高峰时段,如果在-0.25和0.25之间,那么ec乘以0得到一个新值ec_f,如果在普通时段,如果A大于0.25或者小于-0.25,那么ec乘以0.2得到一个新值ec_g,在普通时段,如果A在-0.25和0.25之间,那么ec乘以0得到一个新值ec_h,最后将每日所有时段算出的ec_a,ec_b,ec_c,ec_d,ec_e,ec_f,ec_g,ec_h,c_0进行求和得到ecc,按照日期输出每日ecc,最后只展示每日日期和每日ecc,python代码实现
时间: 2024-04-02 20:32:52 浏览: 101
好的,这里提供一份基于pandas库的实现代码,需要安装pandas库:
```python
import pandas as pd
# 读取数据
data = pd.read_excel('data.xlsx')
# 时间处理
data['date'] = pd.to_datetime(data['date'])
data['hour'] = data['date'].dt.hour
# 分类处理
data['time_type'] = pd.cut(data['hour'], bins=[0, 6, 9, 10, 16, 17, 22, 24], labels=['0', '1', '2', '3', '4', '5', '0'])
# 数据筛选
data = data[(data['actual_power'] >= 10) & (data['predict_power'] >= 10)]
# 计算A和ec
data['A'] = (data['actual_power'] - data['predict_power']) / data['predict_power']
data['ec'] = abs(data['actual_power'] - data['predict_power']) / 4
# 处理大发时段
data.loc[data['time_type'] == '3', 'ec'] *= data['A'].apply(lambda x: 0.4 if x > 0.25 else (0.2 if x < -0.25 else 0))
data.loc[data['time_type'] == '2', 'ec'] *= data['A'].apply(lambda x: 0 if abs(x) <= 0.25 else (0.4 if x > 0.25 else 0.2 if x < -0.25 else 0))
data.loc[data['time_type'] == '4', 'ec'] *= data['A'].apply(lambda x: 0 if abs(x) <= 0.25 else (0.4 if x < -0.25 else 0.2 if x > 0.25 else 0))
# 处理普通时段
data.loc[data['time_type'] == '0', 'ec'] *= data['A'].apply(lambda x: 0 if abs(x) <= 0.25 else 0.2 if x < -0.25 or x > 0.25 else 0)
# 按日期和时段汇总计算ecc
ecc = data.groupby(['date', 'time_type'])['ec'].sum().reset_index()
ecc['ecc'] = ecc['ec']
ecc = ecc.groupby('date')['ecc'].sum().reset_index()
# 输出结果
print(ecc[['date', 'ecc']])
```
其中,假设你的数据文件名为data.xlsx,数据表格中的时间列名为date,实际功率列名为actual_power,预测功率列名为predict_power。
阅读全文