Files
ProgrammierungUndDatenanalyse/Sonstiges/STAT2/vl4-zufriedenheit.py
2021-11-14 17:24:14 +01:00

57 lines
1.8 KiB
Python

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)