Ich kann einfach nicht herausfinden, was "==" in der zweiten Zeile bedeutet:
- Es ist kein Test, es gibt keine if-Anweisung ...
- Es ist keine Variablendeklaration ...
Ich habe das noch nie gesehen, die Sache data.ctage==cat
ist eine Pandas-Serie und kein Test ...
for cat in data["categ"].unique():
subset = data[data.categ == cat] # Création du sous-échantillon
print("-"*20)
print('Catégorie : ' + cat)
print("moyenne:\n",subset['montant'].mean())
print("mediane:\n",subset['montant'].median())
print("mode:\n",subset['montant'].mode())
print("VAR:\n",subset['montant'].var())
print("EC:\n",subset['montant'].std())
plt.figure(figsize=(5,5))
subset["montant"].hist(bins=30) # Crée l'histogramme
plt.show() # Affiche l'histogramme
python
pandas
dataframe
matrix-indexing
Amaumox
quelle
quelle
positive_X = X[X > 0]
von Numpy.Antworten:
Es testet jedes Element
data.categ
auf Gleichheit mitcat
. Dies erzeugt einen Vektor von Wahr / Falsch-Werten. Dies wird wie im Indexer an übergebendata[]
, wodurch die Zeilen zurückgegeben werdendata
, die den True-Werten im Vektor entsprechen.Zusammenfassend gibt der gesamte Ausdruck die Teilmenge der Zeilen zurück, von
data
denen der Wert vondata.categ
gleich istcat
.(Scheint möglich, dass die gesamte Operation eleganter durchgeführt werden könnte
data.groupBy('categ').apply(someFunc)
.)quelle
Es wird eine boolesche Reihe mit Indizes erstellt, bei denen
data.categ
gleichcat
ist. Mit dieser booleschen Maske können Sie Ihren Datenrahmen filtern. Mit anderen Wortensubset
, alle Datensätze enthalten, in denencateg
der Wert gespeichert istcat
.Dies ist ein Beispiel mit numerischen Daten
quelle
Ja, es ist ein Test. Boolesche Ausdrücke sind nicht auf
if
Anweisungen beschränkt.Es sieht aus, als wäre
data
es ein Datenrahmen (PANDAS). Der als Datenrahmenindex verwendete Ausdruck gibt an, wie PANDAS einen Selektor oder Filter bezeichnet. Dies bedeutet, dass jede Zeile ausgewählt werden soll, in der das Feldcateg
mit der Variablen übereinstimmtcat
(anscheinend eine vordefinierte Variable). Diese Sammlung von Zeilen wird zu einem neuen Datenrahmensubset
.quelle
data.categ == cat
gibt eine boolesche Liste zurück, die zum Filtern Ihres Datenrahmens verwendet wird, indem nur Werte übrig bleiben, bei denen der boolesche Wert gleich istTrue
.Boolesche Werte werden in vielen Situationen verwendet, nicht nur in
if
Anweisungen.quelle
Hier überprüfen Sie
data.categ
mit dem iterierenden Elementcat
im Wörterbuch vondata
.Und wenn sie gleich sind, setzen Sie die Schleife fort.
quelle