私は複数の列を持つデータフレームを持っており、2つ以上の列の組み合わせに適用されるようにgroup byの後にcountを使用したいと思います。パンダのデータフレームを使用する複数レベルのグループ化された列にカウントを適用する方法は?
user_id product_name
1 Apple
1 Banana
1 Apple
2 Carrot
2 Tomato
2 Carrot
2 Tomato
3 Milk
3 Cucumber
...
私は何を達成したいことは、このようなものですが:
user_id product_name Product_Count_per_User
1 Apple 1
1 Banana 2
2 Carrot 2
2 Tomato 2
3 Milk 1
3 Cucumber 1
私はそれを得ることができない、たとえば、のは、私は2つの列を持っているとしましょう。私はこの試みた:
dcf6 = df3.groupby(['user_id','product_name'])['user_id', 'product_name'].count()
を私が欲しいものを得るように見えることはありません、それは4列の代わりに、それに行う方法3を表示していますか?ありがとう。あなたは、同時に2つの列を数えている
Hmmmは、NaN数がカウントされないために使用されます。したがって、ここではサイズがよくなります。 – jezrael
@jezraelしかし 'groupby'はデフォルトで' nan'値を落としますので、グループ変数を数えているので、この場合はそれほど重要ではないと思います。しかし、私はここでは「サイズ」がより良い選択であることに同意します。 – Psidom