Simplemente no puedo entender qué significa "==" en la segunda línea:
- No es una prueba, no hay una declaración if ...
- No es una declaración variable ...
Nunca he visto esto antes, la cosa data.ctage==cat
es una serie de pandas y no una prueba ...
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
fuente
fuente
positive_X = X[X > 0]
de numpy.Respuestas:
Está probando cada elemento de
data.categ
igualdad concat
. Eso produce un vector de valores Verdadero / Falso. Esto se pasa como en el indexador adata[]
, que devuelve las filas dedata
correspondientes a los valores verdaderos en el vector.Para resumir, la expresión completa devuelve el subconjunto de filas desde
data
donde el valor dedata.categ
es igualcat
.(Parece posible que toda la operación se pueda hacer de manera más elegante
data.groupBy('categ').apply(someFunc)
).fuente
Crea una serie booleana con índices donde
data.categ
es igualcat
, con esta máscara booleana, puede filtrar su marco de datos, en otras palabrassubset
, tendrá todos los registros dondecateg
está el valor almacenado encat
.Este es un ejemplo usando datos numéricos
fuente
Si, es una prueba. Las expresiones booleanas no están restringidas a
if
declaraciones.Parece que
data
es un marco de datos (PANDAS). La expresión utilizada como índice de marco de datos es cómo PANDAS denota un selector o filtro. Esto dice que seleccione cada fila en la que el campocateg
coincida con la variablecat
(aparentemente una variable predefinida). Esta colección de filas se convierte en una nueva trama de datos,subset
.fuente
data.categ == cat
devolverá una lista booleana que se usará para filtrar su marco de datos al incluir solo valores donde boolean es igualTrue
.Los booleanos se usan en muchas situaciones, no solo en
if
declaraciones.fuente
Aquí está comprobando
data.categ
con el elemento iterando,,cat
en el diccionario dedata
.Y si son iguales, continuará el ciclo.
fuente