如何解决如果来自两个数据帧的多个列匹配,则计算平均值
我有2个数据框,它们具有相同的列数和相同的列标签和数据类型。 列为:COUNTY,POLICEY TYPE,PERIL,2017_1、2017_2,...,2020_2。 df4在每个年/季度列(即2017_1,2017_2 ...)下具有每个县,政策类型和风险类型的CLAIMS总数,因此,例如说Alachua县有10个政策类型的索赔:CNR和Peril类型:AOP,用于2017_1。 df5的布局相同,不同之处在于它具有美元赔偿,而不是每年/季度列中的索偿数。
我的目标是比较df1和df2的COUNTY,POLICY TYPE和PERIL列,如果它们都匹配,我想将df5的值除以df4,因此从本质上讲,每项索赔的平均赔偿金额为在这段时间内指定的县和政策类型以及危险类型。
我想用该计算结果填充一个新的数据框。我将新数据框命名为“ dfy”。
这是我尝试尝试的代码片段:
dfy = df4[["COUNTY","POLICY TYPE","PERIL"]]
conditions = [((df4["COUNTY"]==dfy["COUNTY"]) & (df5["COUNTY"]==dfy["COUNTY"])),((df4["POLICY TYPE"]==dfy["POLICY TYPE"]) & (df5["POLICY TYPE"]==dfy["POLICY TYPE"])),((df4["PERIL"]==dfy["PERIL"]) & (df5["PERIL"]==dfy["PERIL"]))]
dfy["2017_1"] = np.where(conditions,df5["2017_1"]/(np.where(df4["2017_1"]!=0,df4["2017_1"],df5["2017_1"])),False)
任何帮助将不胜感激。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。