案例说明
我们经常会遇到这种需求: —— 将数据按照某个维度的值进行分组(例如:USER_ID),然后针对某个值进行组内排序(例如:SCORE),并标注序号
比如: 在推荐系统的召回阶段,我们会为每个用户推荐数个产品,并赋予其不同的得分,有时我们就需要对同一用户,不同推荐产品的得分进行排序,并标注序
分类标签归档:Pandas
我们经常会遇到这种需求: —— 将数据按照某个维度的值进行分组(例如:USER_ID),然后针对某个值进行组内排序(例如:SCORE),并标注序号
比如: 在推荐系统的召回阶段,我们会为每个用户推荐数个产品,并赋予其不同的得分,有时我们就需要对同一用户,不同推荐产品的得分进行排序,并标注序
当使用 pandas 的 groupby 功能时,如果不设置 as_index 为 False, 那么 groupby 默认会把做 groupby 的 col 作为 index 来使用。 如果存在多个 col,则形成的是 multiIndex。
如果这个时候需要把此时作为 index 的数据提取出来
TODO 汇总一下 PySpark vs Pandas DataFrame 的常用方法对比
方法 | Pandas | PySpark |
---|---|---|
获取某列的去重元素个数 | df[col_name].unique().shape | df[[col_name]].distinct.count() |
统计某列各元 |
TODO
相关代码示例:
# all_df_joind = all_df.apply(lambda x: list(x))
# all_df_joind = all_df.apply(np.append)
# all_df_joind = all_df_gb.appl