在python中汇总时进行过滤

时间:2018-10-09 09:56:18

标签: python r pandas dplyr pandas-groupby

我是目前正在学习python的R用户。

通常,我使用dplyr进行分组并汇总数据。例如,

data1 %>%
   dplyr::group_by(city) %>%
   dplyr::summarize(unique_customers = n_distinct(user_id, na.rm = TRUE),
                 converted_customers = n_distinct(user_id[type == "CONVERTED"], na.rm = TRUE)) %>%
   data.frame()

我已经能够实现group_by和unique_customers,但是在将条件类型==“ CONVERTED”放入python时遇到了一些麻烦。我该怎么做?

编辑: 我现在的python代码:

data1.fillna(method = "ffill").groupby("city").agg({"user_id": "nunique"})

2 个答案:

答案 0 :(得分:0)

data1[data1.type=='CONVERTED'].fillna(method = "ffill").groupby("city").agg({"user_id": "nunique"})

答案 1 :(得分:0)

使用 datar 很容易将您的 R 代码翻译成 python:

from datar.all import f, group_by, summarize, n_distinct

data1 >> \
   group_by(f.city) >> \
   summarize(
      unique_customers=n_distinct(f.user_id, na_rm=True),
      converted_customers=n_distinct(f.user_id[f.type == "CONVERTED"], na_rm=True)
   )

免责声明:我是 datar 软件包的作者。