2016-07-28 54 views
1

假设我们在DataFrame中有两列给出100行。一个是QUERY,另一个是PRODUCTQUERY值和PRODUCT值都可以重复。像Python - 根据给定的查询计算产品的频率

Sr.No  QUERY PRODUCT 
    1 mobile samsung 
    2 mobile  sony 
    3 mobile samsung 
    4 laptop samsung 
    5 laptop  sony 

输出应该是

Sr.No  QUERY PRODUCT FREQUENCY 
    1 mobile samsung   2 
    2 mobile  sony   1 
    3 mobile samsung   2 
    4 laptop samsung   1 
    5 laptop  sony   1 

请注意,重复的值不应该被忽略。 我们如何在Python中做到这一点?

回答

0

使用transform

df['FREQUENCY'] = df.groupby(['QUERY', 'PRODUCT'])['PRODUCT'].transform('size') 
print (df) 
RangeIndex(start=0, stop=5, step=1) 
    Sr.No QUERY PRODUCT FREQUENCY 
0 1.0 mobile samsung   2 
1 2.0 mobile  sony   1 
2 3.0 mobile samsung   2 
3 4.0 laptop samsung   1 
4 5.0 laptop  sony   1 
+0

感谢的人! 这就像一个魅力。 – Ishan

+0

如果我的回答很有帮助,请不要忘记[接受](http://meta.stackexchange.com/a/5235/295067)它。谢谢。 – jezrael

+0

我投了你的答案,但它显示:记录但不显示名誉低于15的人投的票。我是新来的btw。 – Ishan