如何计算值在 pandas 中的唯一行

How to calculate unique rows with values in pandas

如何计算具有相同 user_id 但唯一 purchase_date 的行数并使用此信息创建新列

数据示例:

user_id product_id  trial   refunded    purchase_date   country_code    media_source
30  476006  tenwords_1w_9.99_offer  False   False   2020-07-28  US  Facebook Ads
12  478118  tenwords_1w_9.99_offer  False   False   2020-09-28  Organic/Unknown Organic/Unknown
88  485260  tenwords_1w_9.99_offer  False   True    2020-09-16  Organic/Unknown Organic/Unknown
49  689561  tenwords_1w_9.99_offer  False   False   2020-09-28  Organic/Unknown Organic/Unknown
57  1096091 tenwords_1w_7.99_7free  True    False   2020-09-14  US  Facebook Ads
72  1304477 tenwords_1w_9.99_offer  False   False   2020-08-08  US  Facebook Ads
76  1434617 tenwords_1w_7.99_7free  True    False   2020-08-22  US  Facebook Ads
73  1523083 tenwords_1w_9.99_offer  False   False   2020-07-04  CA  Facebook Ads
98  1535384 tenwords_1w_9.99_offer  False   False   2020-07-13  US  Facebook Ads
90  1796915 tenwords_1w_7.99_7free  True    False   2020-08-21  US  Facebook Ads
54  1814069 tenwords_1w_9.99_offer  False   False   2020-07-01  Organic/Unknown Organic/Unknown
32  1988951 tenwords_1w_9.99_offer  False   False   2020-07-04  ZA  Facebook Ads
58  1993544 tenwords_1w_9.99_offer  False   False   2020-07-05  MX  Facebook Ads
56  1993544 tenwords_1w_9.99_offer  False   True    2020-08-16  MX  Facebook Ads
11  1994244 tenwords_1w_9.99_offer  False   False   2020-07-05  US  Facebook Ads
53  1998351 tenwords_1w_7.99_7free  False   False   2020-08-10  TW  Facebook Ads
80  2001394 tenwords_1w_9.99_offer  False   False   2020-07-14  BR  Facebook Ads
9   2016953 tenwords_1w_7.99_7free  True    False   2020-07-11  AU  Facebook Ads
35  2049401 tenwords_1w_9.99_offer  False   False   2020-07-17  US  Facebook Ads
33  2064109 tenwords_1w_9.99_offer  False   False   2020-07-18  US  Facebook Ads
41  2066336 tenwords_1w_7.99_7free  True    False   2020-07-19  MX  Facebook Ads
42  2075234 tenwords_1w_9.99_offer  False   False   2020-07-20  US  Facebook Ads
71  2076892 tenwords_1w_9.99_offer  False   False   2020-07-20  Organic/Unknown Organic/Unknown
59  2082187 tenwords_1w_7.99_7free  True    False   2020-07-20  PH  Facebook Ads

你想要的结果可以用groupby语句来实现,它会形成一个groupby对象。并为您提供某个用户拥有的唯一 purchase_dates 数量。所以这行代码可以帮到你。

potato = df.groupby(['user_id'])['purchase_date'].transform('nunique')

这应该 return 想要的系列,现在只需将它添加到您的数据框

df['NewColumn'] = potato