Wie berechnet man den Median von gruppierten kontinuierlichen Daten in Python?


Es gibt verschiedene Methoden, um den Median von gruppierten kontinuierlichen Daten in Python zu berechnen. Hier sind einige Möglichkeiten:

Methode 1: Verwendung von Pandas

Pandas ist eine Python-Bibliothek, die häufig für die Datenanalyse verwendet wird. Sie bietet eine einfache Möglichkeit, den Median von gruppierten kontinuierlichen Daten zu berechnen.

import pandas as pd

# Erstellen eines DataFrame mit gruppierten kontinuierlichen Daten
data = {'Klasse': ['A', 'B', 'C', 'D', 'E'],
        'Untere Grenze': [0, 10, 20, 30, 40],
        'Obere Grenze': [10, 20, 30, 40, 50],
        'Häufigkeit': [5, 10, 15, 20, 25]}
df = pd.DataFrame(data)

# Berechnung des kumulativen Summen der Häufigkeit
df['Kumulative Häufigkeit'] = df['Häufigkeit'].cumsum()

# Berechnung des Median
n = df['Häufigkeit'].sum()
n_half = n / 2
median_class = df[df['Kumulative Häufigkeit'] >= n_half].iloc[0]
median = median_class['Untere Grenze'] + ((n_half - median_class['Kumulative Häufigkeit'] + median_class['Häufigkeit'] - 1) / median_class['Häufigkeit']) * (median_class['Obere Grenze'] - median_class['Untere Grenze'])
print('Median:', median)

Methode 2: Verwendung von Numpy

Numpy ist eine Python-Bibliothek, die für numerische Berechnungen verwendet wird. Sie bietet eine Möglichkeit, den Median von gruppierten kontinuierlichen Daten zu berechnen.

import numpy as np

# Erstellen von Arrays mit gruppierten kontinuierlichen Daten
lower_limits = np.array([0, 10, 20, 30, 40])
upper_limits = np.array([10, 20, 30, 40, 50])
frequencies = np.array([5, 10, 15, 20, 25])

# Berechnung des kumulativen Summen der Häufigkeit
cumulative_frequencies = np.cumsum(frequencies)

# Berechnung des Median
n = frequencies.sum()
n_half = n / 2
median_class_index = np.where(cumulative_frequencies >= n_half)[0][0]
median_class = {'lower_limit': lower_limits[median_class_index],
                'upper_limit': upper_limits[median_class_index],
                'frequency': frequencies[median_class_index],
                'cumulative_frequency': cumulative_frequencies[median_class_index - 1]}
median = median_class['lower_limit'] + ((n_half - median_class['cumulative_frequency']) / median_class['frequency']) * (median_class['upper_limit'] - median_class['lower_limit'])
print('Median:', median)

Beide Methoden liefern das gleiche Ergebnis.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.