我有一個關于 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 以獲得最大平均值,最小值為最小平均值,平均值為它們的平均值。
- 2 回答
- 0 關注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消