2016-05-14 35 views
0

我有這樣產品由多少個獨特用戶購買?

users          b   c  d  product 
8fa683e59c02c04cb781ac689686db07 ggstart 1.46276E+12 00:00.0 55107008  
335644267c1d5f04eaea7bc6f51b1861 ggstart 1.46276E+12 00:00.0 55107008  
ca3071aad676bc963795a2b09635cdf0 ggstop 1.46277E+12 00:00.0 55107008  
17412dec7d3d02c9b0b1c3d1c3571c5c ggstop 1.46276E+12 00:00.0 10655437  
f81167c854f1a0c86cab6188f9995824 ggstart 1.46276E+12 00:00.1 55107008  
17412dec7d3d02c9b0b1c3d1c3571c5c ggstart 1.46276E+12 00:00.1 10655437  
a2659df45c8d05f326225fa5b1063ac9 ggstart 1.46276E+12 00:00.1 30900473  
b8bbef76f8dfee2fe190a283cd5a19a7 ggstart 1.46276E+12 00:00.1 18121481  
e8ebfc3f39512eda3aa0702b13ffed63 ggstart 1.46276E+12 00:00.1 18121481  
988e4873861347113519fbee6dd1c3b0 ggstart 1.46276E+12 00:00.2 55107008  
583361d66ad8b0827cd08d3a5d64af89 ggstop 1.46276E+12 00:00.2 55107008  

用戶,B,C,產品的數據集是列。

我必須確定每個產品是由多少個唯一用戶購買的。有這樣的數千行。 請記住:

there can be many users buying the same product, 
each customer have more than one product bought 

首先,我試圖讓用戶獨特的和獨特的產品矩陣。但我只有16產品和用戶都喜歡5000 有沒有什麼辦法,我可以找到

回答

0

使用groupby/nunique

In [51]: df.groupby(['product'])['users'].nunique() 
Out[51]: 
product 
10655437 1 
18121481 2 
30900473 1 
55107008 6 
Name: users, dtype: int64 
+0

感謝unutbu,u能解釋我,它是如何工作。我正在嘗試製作矩陣,然後訪問值 – kush

+0

首先閱讀[Groupby:split-apply-combine tutorial](http://pandas.pydata.org/pandas-docs/stable/groupby.html#group-by -split申請-結合)。它沒有明確提及'nunique',但是如果你使用[IPython](https://ipython.org/),那麼它的tab-completion功能將幫助你發現'SeriesGroupBy'對象有一個'nunique'方法。 – unutbu

相關問題