57 lines
1.8 KiB
Python
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) |