Get the row(s) which have the max value in groups using groupby
In [1]: df Out[1]: Sp Mt Value count 0 MM1 S1 a 3 1 MM1 S1 n 2 2 MM1 S3 cb 5 3 MM2 S3 mk 8 4 MM2 S4 bg 10 5 MM2 S4 dgd 1 6 MM4 S2 rd 2 7 MM4 S2 cb 2 8 MM4 S2 uyi 7 In [2]: … Read more
In [1]: df Out[1]: Sp Mt Value count 0 MM1 S1 a 3 1 MM1 S1 n 2 2 MM1 S3 cb 5 3 MM2 S3 mk 8 4 MM2 S4 bg 10 5 MM2 S4 dgd 1 6 MM4 S2 rd 2 7 MM4 S2 cb 2 8 MM4 S2 uyi 7 In [2]: … Read more
May be are you asking this? SELECT ID, (SELECT AVG(v) FROM (VALUES (Mark1), (Mark2), (Mark3), (Mark4), (Mark5)) AS value(v)) as [AverageMarks] FROM Table1 If you are looking for only Average of 2 highest subjects among 3 subjects then try this. SELECT ID, (SELECT (SUM(v)-MIN(V))/2 FROM (VALUES (Mark1), (Mark2), (Mark3)) AS value(v)) as [AverageMarks] FROM Table1 … Read more
One way would be using a for loop: def get_min_max(numbers): if not all([type(number) in [int, float] for number in numbers]): raise TypeError(‘All items in numbers must be int or float.’) min = None max = None for number in numbers: min = number if min is None or number < min else min max = … Read more