python 对两个df中相同时间的wpd列和winpd列求MAE和RMSE 注:两个df的时间索引列名一个是time一个是date
时间: 2024-12-23 13:21:33 浏览: 8
要计算两个DataFrame(df1的`wpd`列与df2的`winpd`列)在相同时间点上的均方误差(Mean Absolute Error, MAE)和均方根误差(Root Mean Square Error, RMSE),可以按照以下步骤操作:
首先,确保两个DataFrame的索引(时间列,`time`和`date`)都是日期类型并已按顺序排列。
```python
# 假设 df1 和 df2 是你的 DataFrame,且它们都有名为 'time' 或 'date' 的时间索引列
df1.set_index('time', inplace=True)
df2.set_index('date', inplace=True)
# 如果索引名称不同,需要先调整
if df1.index.name != 'time':
df1.rename_axis('time', inplace=True)
if df2.index.name != 'date':
df2.rename_axis('date', inplace=True)
# 确保索引相等
common_index = df1.index.intersection(df2.index)
df1 = df1.loc[common_index]
df2 = df2.loc[common_index]
# 使用pandas的mean_absolute_error和mean_squared_error计算MAE和RMSE
mae = df1['wpd'].subtract(df2['winpd']).abs().mean()
rmse = (df1['wpd'] - df2['winpd']) ** 2.0. mean() ** 0.5
mae, rmse
```
阅读全文