Python Pandas - Beschreibende Statistik

Eine große Anzahl von Methoden berechnet gemeinsam beschreibende Statistiken und andere verwandte Operationen in DataFrame. Die meisten davon sind Aggregationen wiesum(), mean(), aber einige von ihnen mögen sumsum(), produzieren ein Objekt der gleichen Größe. Im Allgemeinen nehmen diese Methoden eineaxisArgument, genau wie ndarray. {sum, std, ...}, aber die Achse kann durch Name oder Ganzzahl angegeben werden

  • DataFrame - "Index" (Achse = 0, Standard), "Spalten" (Achse = 1)

Lassen Sie uns einen DataFrame erstellen und dieses Objekt in diesem Kapitel für alle Operationen verwenden.

Beispiel

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df

Es ist output ist wie folgt -

Age  Name   Rating
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30   Steve   3.20
5   29   Smith   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40   David   2.98
9   30   Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

Summe()

Gibt die Summe der Werte für die angeforderte Achse zurück. Standardmäßig ist die Achse der Index (Achse = 0).

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.sum()

Es ist output ist wie folgt -

Age                                                    382
Name     TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

Jede einzelne Spalte wird einzeln hinzugefügt (Zeichenfolgen werden angehängt).

Achse = 1

Diese Syntax gibt die Ausgabe wie unten gezeigt aus.

import pandas as pd
import numpy as np
 
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}
 
#Create a DataFrame
df = pd.DataFrame(d)
print df.sum(1)

Es ist output ist wie folgt -

0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

bedeuten()

Gibt den Durchschnittswert zurück

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.mean()

Es ist output ist wie folgt -

Age       31.833333
Rating     3.743333
dtype: float64

std ()

Gibt die Bressel-Standardabweichung der numerischen Spalten zurück.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.std()

Es ist output ist wie folgt -

Age       9.232682
Rating    0.661628
dtype: float64

Funktionen & Beschreibung

Lassen Sie uns nun die Funktionen unter Beschreibende Statistik in Python Pandas verstehen. In der folgenden Tabelle sind die wichtigen Funktionen aufgeführt -

Sr.Nr. Funktion Beschreibung
1 Anzahl() Anzahl der Nicht-Null-Beobachtungen
2 Summe() Summe der Werte
3 bedeuten() Mittelwert der Werte
4 Median() Median der Werte
5 Modus() Art der Werte
6 std () Standardabweichung der Werte
7 Mindest() Mindestwert
8 max () Höchster Wert
9 Abs() Absoluter Wert
10 prod () Produkt der Werte
11 cumsum () Kumulative Summe
12 cumprod () Kumulatives Produkt

Note- Da DataFrame eine heterogene Datenstruktur ist. Generische Operationen funktionieren nicht mit allen Funktionen.

  • Funktionen wie sum(), cumsum()Arbeiten Sie fehlerfrei mit numerischen und Zeichen- (oder) Zeichenfolgendatenelementen. Obwohln In der Praxis werden Zeichenaggregationen im Allgemeinen nie verwendet. Diese Funktionen lösen keine Ausnahme aus.

  • Funktionen wie abs(), cumprod() Ausnahme auslösen, wenn der DataFrame Zeichen- oder Zeichenfolgendaten enthält, da solche Operationen nicht ausgeführt werden können.

Daten zusammenfassen

Das describe() Die Funktion berechnet eine Zusammenfassung der Statistiken zu den DataFrame-Spalten.

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe()

Es ist output ist wie folgt -

Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

Diese Funktion gibt die mean, std und IQRWerte. Die Funktion schließt die Zeichenspalten und die Zusammenfassung der numerischen Spalten aus.'include'ist das Argument, mit dem die erforderlichen Informationen darüber übergeben werden, welche Spalten für die Zusammenfassung berücksichtigt werden müssen. Nimmt die Liste der Werte; Standardmäßig 'Nummer'.

  • object - Fasst String-Spalten zusammen
  • number - Fasst numerische Spalten zusammen
  • all - Fasst alle Spalten zusammen (sollte nicht als Listenwert übergeben werden)

Verwenden Sie nun die folgende Anweisung im Programm und überprüfen Sie die Ausgabe -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe(include=['object'])

Es ist output ist wie folgt -

Name
count       12
unique      12
top      Ricky
freq         1

Verwenden Sie nun die folgende Anweisung und überprüfen Sie die Ausgabe -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
}

#Create a DataFrame
df = pd.DataFrame(d)
print df. describe(include='all')

Es ist output ist wie folgt -

Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000