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