开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

pyodps中groupby到底怎么用

company_name_groupby = company_name.groupby('company_name')

print(company_name_groupby)
只单纯的对一列分组,不适用agg聚合可不可行
用完结果是个什么类型,head(),execute()都不能用来查看他的结果

展开
收起
游客quawgteqqrvrm 2023-12-11 10:44:53 90 0
2 条回答
写回答
取消 提交回答
  • 对一列进行分组操作,不使用聚合函数是可行的。company_name.groupby('company_name')的结果是一个GroupBy对象,它表示对company_name列进行分组后的结果。

    GroupBy对象提供了一些方法来进行分组后的操作,例如聚合函数、转换、过滤等。但是,如果不使用聚合函数,那么GroupBy对象本身不能直接查看结果,因为它只是一个中间对象,保存了分组的信息和分组后的数据的引用。

    要查看分组后的结果,可以使用GroupBy对象的聚合函数(如sum()、count()等)或转换函数(如apply())来计算分组后的结果,并返回一个新的数据结构。例如,可以使用company_name_groupby.size()来查看每个分组的大小。

    示例代码:

    company_name_groupby = company_name.groupby('company_name')
    group_sizes = company_name_groupby.size()
    print(group_sizes)
    如果您需要查看完整的分组结果,可以通过将分组结果转换为数据框或系列对象来实现。例如,可以使用pd.DataFrame将分组结果转换为数据框,并使用head()方法查看前几行。

    示例代码:

    result_df = pd.DataFrame({'group_size': group_sizes})
    print(result_df.head())
    请注意,上述示例代码中的pd是指导入的pandas库的别名。确保已正确导入pandas库并将其命名为pd。

    2023-12-18 22:10:13
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    可以使用agg()函数对分组后的数据进行聚合操作。例如,如果你想要对每个公司的员工数量进行求和,可以这样做:

    company_name_groupby = company_name.groupby('company_name')
    result = company_name_groupby.agg({'employee_count': 'sum'})
    print(result)
    

    这里,agg()函数接收一个字典作为参数,字典的键是列名,值是要执行的聚合操作。在这个例子中,我们对employee_count列进行了求和操作。

    head()execute()函数不能直接用于查看分组后的结果,因为它们是用于执行SQL查询的。如果你想查看结果,可以直接打印result变量。

    2023-12-12 17:42:44
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载