Pandas:如何将月度数据dataframe除以月度均值dataframe计算变异性
Pandas实现风速变异性计算方案
实现思路
通过公共匹配键(风场名称、月份)关联两张数据表,再按如下公式计算变异性即可:变异性(%) = (当月风速 / 对应月份长期平均风速 - 1) * 100
完整实现代码
import pandas as pd # 1. 按风场名称、月份关联两个数据表,用后缀区分两个表的风速字段 df_merge = df1.merge(df2, on=['plant_name', 'month'], suffixes=('_monthly', '_avg')) # 2. 计算变异性,保留3位小数 df_merge['var'] = ((df_merge['wind_speed_ms_monthly'] / df_merge['wind_speed_ms_avg'] - 1) * 100).round(3) # 3. 筛选目标列、重置索引得到最终输出 result = df_merge[['plant_name', 'year', 'month', 'var']].reset_index(drop=True)
补充说明
运行得到的result表数值和结构和你给出的预期输出完全匹配,如果需要保留df1的原始index列,在筛选列时加入对应列名即可。
内容的提问来源于stack exchange,提问作者user2100039
相关产品推荐
相关产品推荐

