# import numpy as np
# import pandas as pd
# from sklearn.datasets import load_iris
# iris = load_iris()
# df = pd.DataFrame(iris.data, columns=iris.feature_names)
# df['species'] = iris.target
# df['species'] = df['species'].map({0: 'setosa', 1: 'versicolor', 2: 'virginica'})
# grouped = df.groupby('species')
# for species, group in grouped:
# print(f"Statistics for {species}:\n")
# for column in df.columns[:-1]: # Skip the 'species' column
# # Manual calculation of mean
# total_sum = 0
# count = len(group[column])
# for value in group[column]:
# total_sum += value
# mean_value = total_sum / count
# # Manual calculation of median
# sorted_values = sorted(group[column])
# if count % 2 == 1: # Odd number of elements
# median_value = sorted_values[count // 2]
# else: # Even number of elements
# median_value = (sorted_values[count // 2 - 1] +
sorted_values[count // 2]) / 2
# # Manual calculation of mode
# value_counts = {}
# for value in group[column]:
# value_counts[value] = value_counts.get(value, 0) + 1
# mode_value = max(value_counts, key=value_counts.get)
# # Print the results
# print(f"{column} - Mean: {mean_value:.2f}, Median: {median_value:.2f},
Mode: {mode_value:.2f}")
# print("\n")