Ich habe folgende Datenrahmen:Gruppe von zwei Säulen und die Vorkommen jeder Kombination in Pandas zählen
data = pd.DataFrame({'user_id' : ['a1', 'a1', 'a1', 'a2','a2','a2','a3','a3','a3'], 'product_id' : ['p1','p1','p2','p1','p1','p1','p2','p2','p3']})
product_id user_id
p1 a1
p1 a1
p2 a1
p1 a2
p1 a2
p1 a2
p2 a3
p2 a3
p3 a3
in realen Fall könnte es einige andere Spalten als gut, aber ich weiß, was Sie brauchen, ist zu so etwas wie diese Gruppe von product_id und user_id Spalten von Datenrahmen und die Anzahl der einzelnen Kombinationen zählen und es als eine neue Spalte in einem neuen dat Rahmen hinzufügen
Ausgabe soll:
user_id product_id count
a1 p1 2
a1 p2 1
a2 p1 3
a3 p2 2
a3 p3 1
Ich habe den folgenden Code versucht:
grouped=data.groupby(['user_id','product_id']).count()
aber das Ergebnis ist:
user_id product_id
a1 p1
p2
a2 p1
a3 p2
p3
eigentlich das Wichtigste für mich ist, einen Spaltennamen Zahl zu haben, die die Anzahl der Vorkommen hat, ich brauche um die Spalte später zu verwenden.
Mögliches Duplikat [Python: eine Frequenzzahl auf zwei Spalten (Variablen) in Pandas Datenrahmen basierend bekommen] (http://stackoverflow.com/questions/33271098/python-get-a-frequency-count- based-on-two-columns-variables-in-pandas-datafra) – Merlin