SAS2PYTHON - Streumaße (Spannweite, Standardabweichung, Varianz)


Posted on 30 August 2022 at 13:18 by Stefan Weingaertner

In der Episode 21 unseres heutigen Blog-Beitrags zeigen wir, wie man in SAS/BASE und in Pandas Streumaße berechnen kann.



Ein Pandas DataFrame ist einem SAS Data Set sehr ähnlich - es handelt sich um eine zweidimensionale tabellarische Datenstruktur mit gelabelten Spalten, die von unterschiedlichem Datentyp sein können. Wie in diesem Beitrag gezeigt wird, kann nahezu jede Operation, die mit dem SAS Data Step auf einen Datensatz angewendet werden kann, auch in Pandas ausgeführt werden.

Input: Unsere Input-Tabelle besitzt 5 Datensätze und besteht aus den Spalten "column_1", "column_2", "column_3" und "column_4".


                      
   column_1  column_2  column_3  column_4
0         5         3        -3       2.0
1        10         3        -9       2.0
2        20         4        -6       0.0
3        20         8         0       5.6
4        25        12        -3      -8.7
                    


Output: Wir erzeugen folgende Ergebnisse:

  • Spannweite für alle Spalten.
  • Standardabweichung für alle Spalten.
  • Varianz für alle Spalten.

Da manche Operationen in SAS und Python unterschiedlich ausgeführt werden, generieren die beiden Programmiersprachen auch leicht unterschiedliche Ausgabe-Formate. Wir haben daher die Outputs mit dem dazugehörigen Code für SAS und Python separat aufgeführt.




SAS-Code: Das Berechnen der Streumaße Spannweite, Standardabweichung und Varianz würde man für ein SAS Dataset "df" mit der Prozedur PROC MEANS wie folgt umsetzen.


                      
proc means data = df range std var;
run;
                    


SAS-Output: Das Ergebnis sieht in SAS wie folgt aus.


                      
Variable  Range        Std Dev  Variance
column_1     20   8.2158383626      67.5
column_2      9    3.937003937      15.5
column_3      9   3.4205262753      11.7
column_4   14.3   5.3592909979    28.722


                    




Python-Code: In Python kann man das Berechnen von Spannweite, Standardabweichung und Varianz für die vier Spalten des DataFrame "df" mit der folgenden Syntax umsetzen.


                      
import pandas as pd

# Spannweite 

df.max()-df.min()

column_1    20.0
column_2     9.0
column_3     9.0
column_4    14.3
dtype: float64

# Standardabweichung

df.std()

column_1    8.215838
column_2    3.937004
column_3    3.420526
column_4    5.359291
dtype: float64

df.var()

column_1    67.500
column_2    15.500
column_3    11.700
column_4    28.722
dtype: float64
                    




Wenn Sie die nächste Episode nicht abwarten möchten, können Sie auch gerne unser umfangreiches Training Python für SAS Professionals buchen.

Informationen zu den nächsten Kursterminen und zu unserem gesamten Trainingsangebot finden Sie hier.