var unsettledCustomers = x.GroupBy(g => g.Id)
.Select(g => new
{
Id = g.Key,
Total = g.Sum(xx => xx.Stake),
Avg = g.Average(ss => ss.Win),
AvgerageBet = g.Average(ss => ss.Stake),
UnusualBets = g.Where(bet => bet.Stake > (10 * g.Average(ss => ss.Stake))).ToList()
});
var allUnusualBets = unsettledCustomers.SelectMany(y => y.UnusualBets);
你贴出的问题:
我想找出投注,其中股份(BET)高于该客户的平均投注在他们的BETT 10倍以上ing历史...
您的数据在哪里Id =客户ID。请注意,根据您在问题中定义的内容,不存在平均赌注* 10高于下注的情况,因此样本数据中没有异常投注。
ID:1,AverageBet:400,AverageBetTimes10:4000,最高下注:1000
ID:2,AverageBet:15,AverageBetTimes10:150,最高下注:20
ID:3, AverageBet:110,AverageBetTimes10:1100,最高下注:300
ID:4,AverageBet:237.5,AverageBetTimes10:2375,最高下注:300
ID:5,AverageBet:73.3333333333333,AverageBetTimes10:733.333333333 333,最高下注:100
编号:6,AverageBet:162.5,AverageBetTimes10:1625,最高下注:500
'x.GroupBy(G => g.Id).' - 什么是标识?您没有将它列在您的CVS数据中。 – Igor
它是csv数据中的customerId第一个值 –
'bet' ='stake'?或者他们是两个不同的东西? – Igor