Untitled
unknown
plain_text
a year ago
1.9 kB
6
Indexable
def calculate_mean(grouped_data): total_frequency = sum(item[1] for item in grouped_data) mean = sum(item[0] * item[1] for item in grouped_data) / total_frequency return mean def calculate_median(grouped_data): total_frequency = sum(item[1] for item in grouped_data) cumulative_frequency = [0] cumulative_frequency.extend(sum(item[1] for item in grouped_data[:i+1]) for i in range(len(grouped_data))) for i in range(len(cumulative_frequency)-1): if cumulative_frequency[i] < total_frequency/2 and cumulative_frequency[i+1] >= total_frequency/2: lower_limit = grouped_data[i][0] upper_limit = grouped_data[i+1][0] median = lower_limit + (upper_limit - lower_limit) * (total_frequency/2 - cumulative_frequency[i]) / (cumulative_frequency[i+1] - cumulative_frequency[i]) return median def calculate_mode(grouped_data): mode = max(grouped_data, key=lambda x: x[1])[0] return mode grouped_data = [(10, 12), (20, 15), (30, 20), (40, 18), (50, 10)] mean = calculate_mean(grouped_data) median = calculate_median(grouped_data) mode = calculate_mode(grouped_data) print("Mean:", mean) print("Median:", median) print("Mode:", mode) def calculate_mean(data): return sum(data) / len(data) def calculate_median(data): data.sort() n = len(data) if n % 2 == 0: median = (data[n//2 - 1] + data[n//2]) / 2 else: median = data[n//2] return median def calculate_mode(data): from collections import Counter count = Counter(data) mode = max(count, key=count.get) return mode data = [3, 5, 6, 6, 8, 9] mean = calculate_mean(data) median = calculate_median(data) mode = calculate_mode(data) print("Mean:", mean) print("Median:", median) print("Mode:", mode)
Editor is loading...
Leave a Comment