为了账号安全,请及时绑定邮箱和手机立即绑定

聚合来自两个集合的数据

聚合来自两个集合的数据

C#
呼啦一阵风 2021-08-22 15:42:43
我有一个关于 LINQ 和聚合数据的问题。我有两个 csv 文件,里面装满了我用来练习的虚拟数据。第一个 csv 文件(因子)包含以下字段:邮政编码因子类型因子值样本数据31513,Type1,0.61904641331515,Type1,0.6201359931563,Type1,0.91298886531513,Type2,0.61904641331515,Type2,0.6201359931563,Type2,0.91298886531513,Type3,0.61904641331515,Type3,0.6201359931563,Type3,0.912988865第二个 csv 文件(县)包含以下字段:邮政编码县样本数据31513,应用31515,应用31563,应用31624,阿特金森31642,阿特金森31650,阿特金森31510,培根39870,贝克31034,鲍德温31059,鲍德温31061,鲍德温31062,鲍德温我正在尝试使用 LINQ 按县获得 FactorType 的平均值。我有一个查询,按县返回每个 ZipCode 的 FactorType,代码和输出屏幕截图如下。var query =            from county in countyRecords            join factor in factorRecords on county.Zipcode equals factor.Zipcode                into factorGroup            orderby county.County            select new CountyFactor            {                cf_county = county,                cf_factors = factorGroup            } into result            group result by result.cf_county.County;我的目标是获得每种因子类型的平均值,例如:县名平均类型 1平均类型2平均类型3我的想法是获取第一个查询的结果并在第二个查询中使用它们来获得这些结果,但我不知道该怎么做。下面的代码是我得到的,但不知道如何完成它。var query2 =            from data in query            group data by data.Key into averageGroup            select new            {                average = averageGroup.Average()            }感谢您花时间看这个!
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

countyRecords.Join( FactorRecords, c => c.ZipCode, f => f.ZipCode, (c, f) => new { County = c, Factor = f }).GroupBy(Factor.Type).Select( x=> new { x.key, x.Sum(Average) }).ToList( );

我不明白你是否需要所有平均值的总和。用 max 替换 sum 以获得最大平均值,最小值为最小平均值,平均值为它们的平均值。


查看完整回答
反对 回复 2021-08-22
  • 2 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信