Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

想要统计每个价格支付的人数,同一个价格下同一个用户即使支付了多次也算作1人次,如下,100的价格 有用户1000和2000,这样算作两个人

 user_price = [
            {'user_id':1000,'goods_price':100},
            {'user_id':1000,'goods_price':100},
            {'user_id':2000,'goods_price':100},
            {'user_id':1000,'goods_price':200},
            {'user_id':2000,'goods_price':100},
        ]
        user_df = pd.DataFrame(user_price)
        print(user_df.groupby(['goods_price','user_id'],as_index=False)['user_id'].count())

结果输出 多了1行

   goods_price  user_id
0          100        2
1          100        2
2          200        1

希望得到结果

   goods_price  user_id
0          100        2
1          200        1

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
385 views
Welcome To Ask or Share your Answers For Others

1 Answer

需要先去重,再分组统计

user_df.drop_duplicates().groupby(['goods_price'], as_index=False)['user_id'].count()

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...