import pandas as pd import numpy as np df = pd.read_csv('/home/pi/Documents/Code/Python/ProgrammierungUndDatenanalyse/Sonstiges/STAT2/vl4-zufriedenheit.csv') # Dataframe print(df) print(df.sum()) sums = df.sum() print('Summierte Häufigkeit: ', sums['freq']) # Calculate Mean, respecting frequencies # Σ(freq*(x - mean)) / freq rowSum = 0 for index, row in df.iterrows(): rowSum = rowSum + row.x * row.freq mean = rowSum / sums.freq print("mean: ", mean) # Geschätzte Populationsvarianz, unter Beachtung der Häufigkeiten # Sample Variance: ^σ² = (1 / freq - 1) * Σ(freq*(x - mean)²) variancePart1 = (1 / (sums.freq - 1)) summeQuadrierteAbweichungen = 0 for index, row in df.iterrows(): summeQuadrierteAbweichungen = summeQuadrierteAbweichungen + (row.freq * (row.x - mean)**2) print(row['x'], row['freq'], 'summe²abweichungen: ', summeQuadrierteAbweichungen) variance = variancePart1 * summeQuadrierteAbweichungen print("pop variance: ", variance) # √(^σ²) standardDev = variance**(1/2) # √(^σ²) = ^σ²^1/2 print("pop Standardabweichung: ", standardDev) # √(ŝd / freq) standardfehler = (variance / sums.freq)**(1/2) # √(ŝd / freq) print("Standardfehler des Mittelwerts: ", standardfehler) # konf95,5 = mean -+ 2 * standardfehler konf955unten = mean - 2 * standardfehler konf955oben = mean + 2 * standardfehler print("95,5% Konfidenzintervall ", konf955unten, konf955oben) # konf95 = mean -+ 1,96 * standardfehler konf95unten = mean - 1.96 * standardfehler konf95oben = mean + 1.96 * standardfehler print("95% Konfidenzintervall ", konf95unten, konf95oben) # z-Wert = (xi - mean) / standardDev # z-Wert von 1,00 Ausgezeichnet zwert1 = (1 - mean) / standardDev print("zwert1", zwert1) # z-Wert von 5,00 Schlecht zwert5 = (5 - mean) / standardDev print("zwert5", zwert5)