2 votes

colonne pandas groupby qui a une valeur spécifique

Bonjour, je travaille avec un jeu de données dans pandas. Disons que l'ensemble de données a ID, TEST_TYPE, TEST_STATUS, TEST_DATE, etc

J'ai besoin de regrouper un type de colonne, donc j'ai d'abord essayé

data_useless[['TEST_TYPE', 'TEST_STATUS']].groupby('TEST_STATUS').count_values()

et cela a fonctionné : affichage du résultat des données groupées par test_status(FAILED TEST et PASS TEST) et comptage des valeurs de ces données dans le jeu de données.

maintenant je veux savoir et voir les données de plus du PASS TEST

J'ai donc essayé

data_useless.groupby(['TEST_STATUS'] == 'PASS TEST')

et il ne fonctionne pas il montre une erreur, il dit ERREUR DE CLÉ : FAUX

J'ai besoin de faire quelque chose comme dans sql :

SELECT *
FROM data_useless
WHERE TEST_STATUS = "PASS TEST"
group by TEST_STATUS;

S'il vous plaît, aidez-moi..,

2voto

mozway Points 233

Vous pouvez filtrer en utilisant :

data_useless.loc[data_useless['TEST_STATUS'] == 'PASS TEST']

Ou :

data_useless.query('TEST_STATUS == "PASS TEST"')

Ensuite, si nécessaire, calculez le groupby + l'agrégation :

(data_useless.loc[data_useless['TEST_STATUS'] == 'PASS TEST']
             .groupby(...).agg(...) # or any other groupby function
)

1voto

sam.Taher Points 11

Tout d'abord, pourquoi avez-vous besoin de regrouper par colonne lorsque vous filtrez avec un seul élément ?

mais si vous voulez faire cela, vous devez d'abord filtrer le cadre de données, puis effectuer une opération de groupage sur le cadre de données résultant.

data_useless[data_useless.TEST_STATUS == "PASS TEST"].groupby("TEST_STATUS")

1voto

Abhishek Kumar Points 96

Essayez ceci

data_useless[data_useless['TEST_STATUS']=='PASS TEST'].groupby('TEST_STATUS').count()

1voto

BeRT2me Points 117

Si vous créez d'abord un objet groupby, vous pouvez extraire des groupes spécifiques à l'aide de la commande get_group() méthode :

groups = df.groupby('TEST_STATUS')

pass_data = groups.get_group('PASS TEST')

# Now you can do whatever you want with that group:
pass_data.groupby(...).agg(...)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X