python pandas pivot_table de fréquence de comptage dans une colonne

Je suis encore nouveau pour Python pandas pivot_table et voudrais poser une façon de compter les fréquences de valeurs dans une colonne, qui est également liée à une autre colonne d'identité. Le DataFrame ressemble à la suivante.

import pandas as pd
df = pd.DataFrame({'Account_number':[1,1,2,2,2,3,3],
                   'Product':['A', 'A', 'A', 'B', 'B','A', 'B']
                  })

Pour la sortie, je voudrais obtenir quelque chose comme ce qui suit:

                Product
                A      B
Account_number           
      1         2      0
      2         1      2
      3         1      1

Jusqu'à présent, j'ai essayé ce code:

df.pivot_table(rows = 'Account_number', cols= 'Product', aggfunc='count')

Ce code me donne les deux mêmes choses. Qu'est-ce que les problèmes avec le code ci-dessus? Une partie de la raison pour laquelle je pose cette question, c'est que ce DataFrame est juste un exemple. Les données réelles que je suis en train de travailler sur a des dizaines de milliers de account_numbers. Merci pour votre aide à l'avance!

essayez aggfunc=len
Toutes les réponses sur cette page ne fonctionne pas pour les DataFrames avec plus de 3 colonnes. Le idiomatiques solution est d'utiliser aggfunc='size'. Voir ma réponse ci-dessous pour plus de détails

OriginalL'auteur midtownguru | 2014-03-14