Regrouper par plusieurs colonnes et faire pivoter et compter les valeurs d'une autre colonne dans pandas

Shubham R

J'ai un dataframe

   city   skills   priority acknowledge id_count  acknowledge_count
    ABC    XXX       High      Yes         11         2
    ABC    XXX       High       No         10         3
    ABC    XXX       Med       Yes          5         1
    ABC    YYY       Low        No          1         5

Je veux regrouper par ville et compétences et obtenir total_id_count à partir de la colonne id_count , divisé en trois colonnes séparées de la priorité comme high.med, low. SIMILAIREMENT pour total_acknowledge_count, acceptez

sortie requise:

                  total_id_count      total_acknowledege_count
city,skills    High   Med   Low         Yes      No
ABC,XXX        22      5     0           3        3                # 22=11+10    3=(2+1)
ABC,YYY        0       0     1           0        5

J'essaie différentes méthodes comme pivot_table et groupby & stack, mais cela semble très difficile.

Existe-t-il un moyen d'atteindre ce résultat.?

yatu

Vous devrez pivoter séparément pour le total_id_countet l' total_acknowledege_countici, car vous avez deux schémas column/ distincts valuepour l'agrégation:

piv1 = df.pivot_table(index=['city', 'skills'], columns='priority', 
                      values='id_count', aggfunc='sum', fill_value=0)
piv2 = df.pivot_table(index=['city', 'skills'], columns='acknowledge', 
                      values='acknowledge_count', aggfunc='sum', fill_value=0)

piv1.columns = pd.MultiIndex.from_product([['id_count'], piv1.columns])
piv2.columns = pd.MultiIndex.from_product([['acknowledge_count'], piv2.columns])

output = pd.concat([piv1, piv2], axis=1)

print(output)

                  id_count  acknowledge_count    
                High Low Med     No Yes
city skills                                       
ABC  XXX          21   0   5     3   3
     YYY           0   1   0     5   0

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Comment découper plusieurs colonnes et trier les valeurs par rapport à une autre colonne dans pandas

Pandas regrouper par colonne et compter les valeurs

pandas python: regrouper par plusieurs colonnes et compter la valeur pour une colonne

Comment grouper par colonne et compter les valeurs dans des colonnes séparées (Pandas)

Regrouper par plusieurs colonnes, mais ignorer les commandes et additionner les autres colonnes dans Pandas

Pandas pour regrouper les colonnes dans une liste et compter les occurrences

Regrouper la colonne par niveau et une autre colonne par d'autres pandas

Regrouper et compter les valeurs conditionnelles dans pandas / python

Faire correspondre et supprimer les valeurs en double d'une chaîne délimitée par rapport à une autre colonne

Comment regrouper par date dans les pandas et créer une colonne d'heure associée à la date

Compter les enregistrements distincts dans une colonne avec plusieurs valeurs dans une autre colonne

R: Remplacez plusieurs valeurs dans plusieurs colonnes de dataframes par des valeurs dans une autre colonne

grouper par une colonne, trouver le maximum d'une autre et afficher les colonnes restantes

Les pandas font pivoter une colonne et la remplissent avec une autre colonne pivotée

créer de nouvelles colonnes en ajoutant des minutes à la colonne de date et d'heure et une autre colonne par numéro de ligne groupby - dans Pandas

Pandas: trouvez toutes les valeurs uniques dans une colonne et normalisez toutes les valeurs d'une autre colonne à leur dernière valeur

groupby 2 colonnes et compter dans des colonnes séparées en fonction des cas d'une colonne

Utilisation de pandas pour rechercher les valeurs d'une colonne à partir de la correspondance la plus proche entre une autre colonne et plusieurs entrées

Regrouper certaines colonnes et calculer la différence maximale entre une colonne et une autre colonne décalée

pyspark: Comment remplir des valeurs dans une colonne et les remplacer par une colonne d'une autre dataframe avec des conditions

Comment faire la différence entre deux valeurs moyennes dans PostgreSQL, où les moyennes sont sur une colonne, et la table finale regroupée par deux colonnes?

Remplacez les valeurs pandas dans une colonne par une recherche à partir d'un autre dataframe

Pandas: extraire les valeurs de la colonne, en fonction de la valeur d'une autre colonne, et les séparer en dataframes séparés

Comment compter le nombre de caractères dans la chaîne pour les valeurs de colonne et regrouper les lignes par nombre de ceux-ci en utilisant des pandas?

Dans certaines lignes, obtenez les valeurs d'une colonne et répartissez-les dans une autre colonne

icCube ETL - Java View - regrouper par sur plus d'une colonne + récupérer les valeurs max et min

Grouper et classer par ordre décroissant une colonne en fonction d'une autre dans Pandas

Comment regrouper les données dans un tableau et combiner les valeurs d'une colonne liée (revenu)?

Remplacez les valeurs de plusieurs lignes par les valeurs d'une autre ligne en fonction d'une condition dans Pandas

TOP Lista

CalienteEtiquetas

Archivo