SAS2PYTHON - Symmetrie- und Wölbungsmaße (Schiefe, Kurtosis)


Posted on 6 September 2022 at 03:13 by Stefan Weingaertner

In der Episode 22 unseres heutigen Blog-Beitrags zeigen wir, wie man in SAS/BASE und in Pandas Symmetrie- und Wölbungsmaß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 folgenden Output:

  • Schiefe (Symmetriemaß) für alle Spalten.
  • Kurtosis (Wölbungsmaß) für alle Spalten.

Da manche Operationen in SAS und Python unterschiedlich ausgeführt werden, generieren die beiden Programmiersprachen auch leicht unterschiedlichen 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 Symmetrie- und Wölbungsmaße würde man für ein SAS Dataset "df" wie folgt umsetzen.


                      
proc means data = df skew kurt;
run;
                    


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


                      
Variable       Skewness       Kurtosis
column_1   -0.518420528   -1.687242798
column_2   1.1061301384   -0.247658689
column_3   -0.404796009   -0.177514793
column_4   -1.431812094   2.7626311262
                    




Python-Code: In Python kann man das Berechnen der Schiefe und der Kurtosis für die vier Spalten des DataFrame "df" mit der folgenden Syntax umsetzen.


                      import pandas as pd

# Schiefe 

df.skew()

column_1   -0.518421
column_2    1.106130
column_3   -0.404796
column_4   -1.431812
dtype: float64

# Kurtosis

df.kurt()

column_1   -1.687243
column_2   -0.247659
column_3   -0.177515
column_4    2.762631
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.