Python - 根据给定查询计算产品的频率

时间:2016-07-28 06:18:19

标签: python pandas

假设在具有两列的DataFrame中给出了100行。一个是QUERY,另一个是PRODUCTQUERY值和PRODUCT值都可以重复。像

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中做到这一点?

1 个答案:

答案 0 :(得分: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